Welcome

Description
Welcome to the JVCL Time Framework 2.0. We hope that you find it a valuable addition to your toolbox.

The JTF is a powerful suite of components that allow you to quickly and easily add PIM functionality into your software.
It includes a powerful Schedule Manager component that handles all data access, a full-featured Day View, Week View and
Month View, as well as an architecture that can support new functionality very easily.

You should begin by viewing the demo application. It provides a very solid overview of what the system is capable of, as
well as what the components look like. After that, you should read up on the TJvTFScheduleManager component. It is the heart
of the JTF product.
----------------------------------------------------------------------------------------------------
Using TJvTFPrinter

Description
Printer uses one of two different printing models, based upon the value of DirectPrint.

If DirectPrint is TRUE:
Create a new document via .
Call to get a new page canvas. (, , and are fired at this time. Each subsequent call to sends the previous page directly to the printer.)
Call to send the last page to the printer and close the print job.
Clean up used resources by calling .

If DirectPrint is FALSE:
Create a new document via .
Call to get a new page canvas. ( is fired for each new page. Each page is stored in memory and is NOT sent to the printer at this time.)
Call to complete rendering the document. ( and is fired for each page at this time. After FinishDoc executes, each page image is accessible via the property.)
Call to send the document to the printer.
Clean up used resources by calling .


----------------------------------------------------------------------------------------------------
Batch Loading

Description
In order to allow more efficient data retrieval TJvTFScheduleManager offers batch
loading features.

The TJvTFScheduleManager.SchedLoadMode property controls the manner in which
schedules are loaded into TJvTFScheduleManager. If this property is set to slmOnDemand,
TJvTFScheduleManager will fire the OnNeedAppts event for each schedule that needs
to be loaded. This is the original manner which TJvTFScheduleManager used and if
SchedLoadMode is set to slmOnDemand, TJvTFScheduleManager will operate exactly as
it has in the past.

If the SchedLoadMode property is set to slmBatch, a different set of events is fired
at different times which will allow you to optimize your data retrieval. When using
slmBatch, all requests for schedules that are not currently loaded are batched and the
loading of those schedules is deferred until a call to ProcessBatches is made.

Note that under normal circumstances, you do not have to call ProcessBatches as the
individual JvTFComponents/JvTFControls will handle that automatically for you.

Once a call to ProcessBatches is made, TJvTFScheduleManager examines all of the
schedules that have been batched and groups those schedules into one or more batches.
The grouping is made first by the TJvTFSched.SchedName property and then by contiguous
dates. Imagine the following schedules:

1. Mike - 1/1/2000
2. Mike - 1/2/2000
3. Mike - 1/3/2000
4. Mike - 1/4/2000
5. John - 1/1/2000
6. John - 1/2/2000
7. John - 1/3/2000
8. Mike - 1/15/2000
9. Bob - 1/15/2000

TJvTFScheduleManager would group the above schedules into four seperate batches:

1. Mike - start 1/1/2000 - end 1/4/2000
2. John - start 1/1/2000 - end 1/3/2000
3. Mike - start 1/15/2000 - end 1/15/2000
4. Bob - start 1/15/2000 - end 1/15/2000

For each batch, the OnLoadBatch event will fire, allowing you to retrieve the necessary data for the batch. After all
the batches have been loaded the OnBatchesProcessed event will fire. Under slmOnDemand, you would need to execute nine
seperate retrievals. Using slmBatch and the placing your data retrieval code in OnLoadBatch you can reduce the number
of retrievals to four.

Note that if SchedLoadMode is set to slmBatch, the OnNeedAppts event will NOT fire. If SchedLoadMode is set to slmOnDemand,
the OnLoadBatch and OnBatchesProcessed events will NOT fire unless a direct call is made to ProcessBatches.

Taking Batch Loading one step further, you could use the OnLoadBatch event to dynamically build an SQL query such that
each time the OnLoadBatch event fires it would add a new line to one, all encompassing SQL query. Then you could execute
the query in the OnBatchesProcessed event. This would give you the ability to retrieve all the data necessary for a given
operartion in ONE retrieval. Note that loading is NOT limited to SQL. You can use whatever method you need to use.

If you are manually loading schedules you can use Batch Loading by setting SchedLoadMode to slmBatch, request the schedules
as you do now, and then call ProcessBatches to fire the batch events.

----------------------------------------------------------------------------------------------------
BorlToDOW
See also
Unit
JvTFUtils
function BorlToDOW(BorlDOW: Integer): TDayOfWeek;
Description
This function converts a Borland day of week to a JTF day of week.

Borland's day of week numbering is:
Sunday = 1
Monday = 2
...
Saturday = 7

Example:
BorlToDOW(2) will return dowMonday.

----------------------------------------------------------------------------------------------------
CalcTextPos
See also
Unit
JvTFUtils
procedure CalcTextPos(HostRect: TRect; var TextLeft, TextTop: Integer; var TextBounds: TRect; aFont: TFont; aAngle: Integer; HAlign: TAlignment; VAlign: TJvTFVAlignment; aTxt: String);
Description
This procedure will calculate the position (TextLeft and TextTop) of aTxt within HostRect given various attributes of the text (aFont, aAngle (rotation in tenths of degrees), HAlign, and VAlign). A rectangle which bounds aTxt will be returned in TextBounds.

Credit for this routine goes to Joerg Lingner. It comes from his JLLabel component (freeware - Torry's). He also helped me tweak it for specifically for JTF. It is used with his permission. Thanks Joerg! Joerg can be reached at jlingner@t-online.de.



----------------------------------------------------------------------------------------------------
DateToDOW
See also
Unit
JvTFUtils
function DateToDOW(aDate: TDateTime): TDayOfWeek;
Description
This function will return the JTF day of week for aDate.

----------------------------------------------------------------------------------------------------
DOW_WEEK
See also
Unit
JvTFUtils
const DOW_WEEK: TDaysOfWeek=[dowSunday..dowSaturday];
Description
Defines a set that includes all the days of the week.

----------------------------------------------------------------------------------------------------
DOW_WEEKEND
See also
Unit
JvTFUtils
const DOW_WEEKEND: TDaysOfWeek=[dowSunday, dowSaturday];
Description
Defines a set that includes only Saturday and Sunday

----------------------------------------------------------------------------------------------------
DOW_WORKWEEK
See also
Unit
JvTFUtils
const DOW_WORKWEEK: TDaysOfWeek=[dowMonday..dowFriday]:Description
Defines a set that includes only Monday through Friday.

----------------------------------------------------------------------------------------------------
DOWToBorl
See also
Unit
JvTFUtils
function DOWToBorl(aDOW: TDayOfWeek): Integer;
Description
This function converts a JTF day of week to a Borland day of week.

Borland's day of week numbering is:
Sunday = 1
Monday = 2
...
Saturday = 7

Example:
DOWToBorl(dowMonday) will return 2.


----------------------------------------------------------------------------------------------------
DrawAngleText
See also
Unit
JvTFUtils
procedure DrawAngleText(aCanvas: TCanvas; HostRect: TRect; var TextBounds: TRect; aAngle: Integer; HAlign: TAlignment; VAlign: TJvTFVAlignment; aTxt: String);
Description
This procedure will draw aTxt on aCanvas with various attributes (aAngle (rotation in tenths of degrees), HAlign, and VAlign) and using aCanvas' current font. A rectangle which bounds the drawn txt will be returned in TextBounds.

EJvTFDateError

Unit
JvTFUtils
EJvTFDateError=class(Exception);
Description
This exception is raised due to an invalid date value or calculation.
----------------------------------------------------------------------------------------------------
EGlanceViewerError
 	
Unit
JvTFGlance
EGlanceViewerError=class(EJvTFGlanceError);
Description
This exception is raised when an error is encountered in a GlanceViewer.
----------------------------------------------------------------------------------------------------
EmptyRect

Unit
JvTFUtils
function EmptyRect: TRect;
Description
Returns an empty rect, specifically Rect(0, 0, 0, 0).

----------------------------------------------------------------------------------------------------
EndOfMonth
See also
Unit
JvTFUtils
function EndOfMonth(aDate: TDateTime): TDateTime;
Description
Returns the date of the last day of the month of the given date.

----------------------------------------------------------------------------------------------------
EnsureDOW
See also
Unit
JvTFUtils
procedure EnsureDOW(DOW: Word);
Description
This procedure will raise an EJvTFDateError if the value of DOW is not between 1 and 7.

----------------------------------------------------------------------------------------------------
EnsureMonth
See also
Unit
JvTFUtils
procedure EnsureMonth(Month: Word);
Description
This procedure will raise an EJvTFDateError if the value of Month is not between 1 and 12.

EqualDates

Unit
JvTFUtils
function EqualDates(D1, D2: TDateTime): Boolean;
Description
This function will compare D1 and D2 and return True if the two dates are equal, False otherwise.

EJvTFDaysError

Unit
JvTFDays
EJvTFDaysError=class(Exception);
Description
An EJvTFDaysError exception will be for various error conditions, such as passing an invalid row or column to a method.

----------------------------------------------------------------------------------------------------
EJvTFGlanceError

Unit
JvTFGlance
EJvTFGlanceError=class(Exception);
Description
This is exception is raised when an error occurs in a Glance control.

----------------------------------------------------------------------------------------------------
EJvTFPrinterError

Unit
JvTFServer
EJvTFPrinterError=class(Exception);
Description
This exception is raised when an error is encountered in a Printer.

----------------------------------------------------------------------------------------------------
EJvTFScheduleManagerError

Unit
JvTFServer
EJvTFScheduleManagerError=class(Exception);
Description
An EJvTFScheduleManagerError is raised whenever an error condition is encountered which is specific to the server and its relationships and communication with the contained TJvTFSched and TJvTFAppt, and connected controls.


----------------------------------------------------------------------------------------------------
ExtractDay
See also
Unit
JvTFUtils
function ExtractDay(aDate: TDate): Word;
Description
Returns the day portion of a date.

----------------------------------------------------------------------------------------------------
ExtractHours
See also
Unit
JvTFUtils
function ExtractHours(aTime: TDateTime): Word;
Description
Returns the hour portion of a time.

----------------------------------------------------------------------------------------------------
ExtractMins
See also
Unit
JvTFUtils
function ExtractMins(aTime: TDateTime): Word;
Description
Returns the minute portion of a time.

----------------------------------------------------------------------------------------------------
ExtractMonth
See also
Unit
JvTFUtils
function ExtractMonth(aDate: TDateTime): Word;
Description
Returns the month portion of a date.

----------------------------------------------------------------------------------------------------
ExtractMSecs
See also
Unit
JvTFUtils
function ExtractMSecs(aTime: TDateTime): Word;
Description
Returns the millisecond portion of time.

----------------------------------------------------------------------------------------------------
ExtractSecs
See also
Unit
JvTFUtils
function ExtractSecs(aTime: TDateTime): Word;
Description
Returns the seconds portion of time.

----------------------------------------------------------------------------------------------------
ExtractYear
See also
Unit
JvTFUtils
function ExtractYear(aDate: TDateTime): Word;
Description
Returns the year portion of a date.

----------------------------------------------------------------------------------------------------
FirstOfMonth
See also
Unit
JvTFUtils
function FirstOfMonth(aDate: TDateTime): TDateTime;
Description
Returns the date of the first of the month of the given date.

GetDayOfNthDOW

Unit
JvTFUtils
function GetDayOfNthDOW(Year, Month, DOW, N: Word): Word;
Description
Returns the day of the nth (N) day of the week (DOW) for the Year and Month given. 

N follows Delphi's DayOfWeek numbering. That is:
Sunday = 1
Monday = 2
...
Saturday = 7

Example:
GetDayOfNthDOW(2000, 6, 2, 3) will return the day of the 3rd Monday of May, 2000. Which happens to be May 15, so the function will return 15.

----------------------------------------------------------------------------------------------------
GetDivLength
See also
Unit
JvTFUtils
function GetDivLength(TotalLength, DivCount, DivNum: Integer): Integer;
Description
Assuming a line of TotalLength is divided into DivCount parts of roughly equal length, this function will return the length of the division DivNum.

----------------------------------------------------------------------------------------------------
GetDivNum
See also
Unit
JvTFUtils
function GetDivNum(TotalLength, DivCount, X: Integer): Integer;
Description
Assuming a line with length TotalLength is divided into DivCount pieces of roughly equal length, this function will return the division number that X falls in (assuming the start of the line is X = 0).

----------------------------------------------------------------------------------------------------
GetDivStart
See also
Unit
JvTFUtils
function GetDivStart(TotalLength, DivCount, X: Integer): Integer;
Description
Assuming a line of length TotalLength is divided into DivCount pieces of roughly equal length, this function will return a point on the line where the division that X falls in starts (assuming the start of the line is X = 0).

GetWeeksInMonth

Unit
JvTFUtils
function GetWeeksInMonth(Year, Month: Word; StartOfWeek: Integer): Word;
Description
This function will return the minimum number of weeks (rows in a monthly calendar) that are needed to display every day of the given month+year and based upon the first day of the week defined by StartOfWeek.

StartOfWeek follows Delphi's DayOfWeek numbering. That is:
Sunday = 1
Monday = 2
...
Saturday = 7



----------------------------------------------------------------------------------------------------
Greater
See also
Unit
JvTFUtils
function Greater(N1, N2: Integer): Integer;
Description
This function returns the greater of N1 and N2.

----------------------------------------------------------------------------------------------------
IncBorlDOW
See also
Unit
JvTFUtils
procedure IncBorlDOW(var BorlDOW: Integer; N: Integer=1);
Description
This procedure will increment a Borland day of week. This procedure will 'wrap around' so that BorlDOW is always a valid day of week. Negative N values are valid. N is defaulted to 1 for Delphi 4 and greater.

Examples:
aDOW := 7; // Saturday
IncBorlDOW(aDOW, 1);
// aDOW now equals 1 (Sunday)

aDOW := 1; // Sunday
IncBorlDOW(aDOW, -2);
// aDOW now equals 6 (Friday)

----------------------------------------------------------------------------------------------------
IncDays
See also
Unit
JvTFUtils
procedure IncDays(var aDate: TDateTime; N: Integer=1);
Description
This procedure increments aDate by N days. Negative N values are valid. N is defaulted to 1 to Delphi 4 and greater.

----------------------------------------------------------------------------------------------------
IncDOW
See also
Unit
JvTFUtils
procedure IncDOW(var DOW: TDayOfWeek; N: Integer=1);
Description
This procedures increments a JTF day of week type. It includes 'wrap around' so that DOW will always be a valid day of week. Negative N values are valid. N is defaulted to 1 for Delphi 4 and greater.

Examples:
aDOW := dowSaturday;
IncDOW(aDOW, 1);
// aDOW now equals dowSunday

aDOW := dowSunday
IncDOW(aDOW, -2);
// aDOW now equals dowFriday

----------------------------------------------------------------------------------------------------
IncMonths
See also
Unit
JvTFUtils
procedure IncMonths(var aDate: TDateTime; N: Integer=1);
Description
This procedure increments aDate by N months. Negative N values are valid. N is defaulted to 1 to Delphi 4 and greater.

----------------------------------------------------------------------------------------------------
IncWeeks
See also
Unit
JvTFUtils
procedure IncWeeks(var aDate: TDateTime; N: Integer=1);
Description
This procedure increments aDate by N weeks (1 week = 7 days). Negative N values are valid. N is defaulted to 1 to Delphi 4 and greater.

----------------------------------------------------------------------------------------------------
IncYears
See also
Unit
JvTFUtils
procedure IncYears(var aDate: TDateTime; N: Integer=1);
Description
This procedure increments aDate by N years. Negative N values are valid. N is defaulted to 1 to Delphi 4 and greater.

IsClassByName

Unit
JvTFUtils
function IsClassByName(Obj: TObject; ClassName: ShortString): Boolean;
Description
Returns True if Obj is an instance of, or a descendant of a class whose name matches ClassName, False otherwise.

----------------------------------------------------------------------------------------------------
IsEndOfMonth
See also
Unit
JvTFUtils
function IsEndOfMonth(aDate: TDateTime): Boolean;
Description
Returns True if the given date is the last day of the month. (Accounts for leap years.)

----------------------------------------------------------------------------------------------------
IsFirstOfMonth
See also
Unit
JvTFUtils
function IsFirstOfMonth(aDate: TDateTime): Boolean;
Description
Returns True if the given date is the first day of the month, False otherwise.

----------------------------------------------------------------------------------------------------
Lesser
See also
Unit
JvTFUtils
function Lesser(N1, N2: Integer): Integer;
Description
This function returns the lesser of N1 and N2.

----------------------------------------------------------------------------------------------------
ONE_HOUR
See also
Unit
JvTFUtils
const ONE_HOUR=1 / 24;
Description
Equal to one hour.

----------------------------------------------------------------------------------------------------
ONE_MILLISECOND
See also
Unit
JvTFUtils
const ONE_MILLISECOND=ONE_SECOND / 1000;
Description
Equals one millisecond.

----------------------------------------------------------------------------------------------------
ONE_MINUTE
See also
Unit
JvTFUtils
const ONE_MINUTE=ONE_HOUR / 60;
Description
Equals one minute.

----------------------------------------------------------------------------------------------------
ONE_SECOND
See also
Unit
JvTFUtils
const ONE_SECOND=ONE_MINUTE / 60;
Description
Equals one second.

----------------------------------------------------------------------------------------------------
RectHeight
See also
Unit
JvTFUtils
function RectHeight(aRect: TRect): Integer;
Description
Returns the height of aRect.

----------------------------------------------------------------------------------------------------
RectWidth
See also
Unit
JvTFUtils
function RectWidth(aRect: TRect): Integer;
Description
Returns the width of aRect.

----------------------------------------------------------------------------------------------------
Refresh Reconciliation
See also
Description
Refresh Reconciliation pushes the responsibility for removing appointments from the local machine that have been deleted by another from you to TJvTFScheduleManager. That is, TJvTFScheduleManager will automatically remove appointments that have not been refreshed if TJvTFScheduleManager.RefreshAutoReconcile is set to True. In previous versions, this responsibility was left to you and the implementation was relatively convoluted and error prone. This feature should improve the situation immensly.

If TJvTFScheduleManager.RefreshAutoReconcile is True, a call to one of the Refresh methods (dbRefreshAppt, dbRefreshSched, Appt.Refresh, etc.) will cause TJvTFScheduleManager to set the Refreshed property to False for all affected appointment before any of the Refresh events (OnRefreshAppt, OnRefreshSched, etc.) are fired. Once inside of one of the Refresh events, you must set the Refreshed property to True for each appointment that is refreshed.

After the Refresh events have been fired, TJvTFScheduleManager will automatically cache (remove from view and eventually destroy) all appointments that have their Refreshed property set to False.

Note: If TJvTFScheduleManager.RefreshAutoReconcile is set to False, the TJvTFAppt.Refreshed property is ignored and the no appointments will be automatically cached during the refresh process.

----------------------------------------------------------------------------------------------------
JvTFDays
Keyboard Assignments

Description
The JvTFDays control natively handles the following key combinations:

<Up Arrow> 		Move Up
<Down Arrow> 		Move Down
<Right Arrow> 		Move Right
<Left Arrow> 		Move Left

<Shift> + <Up Arrow> 		Move Up and Select
<Shift> + <Down Arrow> 	Move Down and Select
<Shift> + <Right Arrow> 	Move Right and Select
<Shift> + <Left Arrow> 		Move Left and Select

<Alt> + <Up Arrow> 	Select Previous Appointment
<Alt> + <Down Arrow> 	Select Next Appointment
<Alt> + <Right Arrow> 	Select the first appointment in the next column
<Alt> + <Left Arrow> 	Select the first appointment in the previous column

<Alt> + <Enter> 	Activates the in-place editor for the selected appointment
<Esc> (when editing) 	Cancels the editing of the appointment (reverts description)

<Pg Up> 		Scroll rows up one page
<Pg Down> 		Scroll rows down one page

<Shift> + <Pg Up> 	Move up one page and select all rows traversed
<Shift> + <Pg Down> 	Move down one page and select all rows traversed

<Home> 		Top Row 
<End> 			Last fully visible row is last row in grid

<Shift> + <Home> 	Move to first row and select all rows traversed
<Shift> + <End> 	Move to last row and select all rows traversed

<Ctrl> + <Up Arrow> 	Previous week (-7 days)
<Ctrl> + <Down Arrow> 	Next week (+7 days)
<Ctrl> + <Right Arrow> 	Next day (+1 day)
<Ctrl> + <Left Arrow> 	Previous day (-1 day)
<Ctrl> + <Pg Up> 	Previous Month (-1 month)
<Ctrl> + <Pg Down> 	Next Month (+1 month)

<Ctrl> + <Home> 	Bring Prime Time St art into view
<Ctrl> + <End>		Bring Prime Time End into view

<Ctrl> + <F1> 		Bring 1:00am in view
<Ctrl> + <F2> 		Bring 2:00am in view
<Ctrl> + <F3> 		Bring 3:00am in view
<Ctrl> + <F4> 		Bring 4:00am in view
<Ctrl> + <F5> 		Bring 5:00am in view
<Ctrl> + <F6> 		Bring 6:00am in view
<Ctrl> + <F7> 		Bring 7:00am in view
<Ctrl> + <F8> 		Bring 8:00am in view
<Ctrl> + <F9> 		Bring 9:00am in view
<Ctrl> + <F10> 		Bring 10:00am in view
<Ctrl> + <F11> 		Bring 11:00am in view
<Ctrl> + <F12> 		Bring 12:00am in view
<Ctrl> + <Shift> + <F1> 	Bring 1:00pm in view
<Ctrl> + <Shift> + <F2> 	Bring 2:00pm in view
<Ctrl> + <Shift> + <F3> 	Bring 3:00pm in view
<Ctrl> + <Shift> + <F4> 	Bring 4:00pm in view
<Ctrl> + <Shift> + <F5> 	Bring 5:00pm in view
<Ctrl> + <Shift> + <F6> 	Bring 6:00pm in view
<Ctrl> + <Shift> + <F7> 	Bring 7:00pm in view
<Ctrl> + <Shift> + <F8> 	Bring 8:00pm in view
<Ctrl> + <Shift> + <F9> 	Bring 9:00pm in view
<Ctrl> + <Shift> + <F10> 	Bring 10:00pm in view
<Ctrl> + <Shift> + <F11> 	Bring 11:00pm in view
<Ctrl> + <Shift> + <F12> 	Bring 12:00pm in view

<Insert> 		Insert Appointment (fires OnInsertAppt event)
<Delete> 		Delete Appointment (fires OnDeleteAppt event)
<Shift> + <Insert> 	Insert Schedule (fires OnInsertSchedule event)
<Shift> + <Delete> 	Delete Schedule (fires OnDeleteSchedule event)

<Ctrl> + <Insert> 	Change Granularity to next lowest level
<Ctrl> + <Delete> 	Change Granularity to next highest level


----------------------------------------------------------------------------------------------------
JvTFUtils Unit
Unit
JvTFUtils
Description
The JvTFUtils.pas unit contains various classes, types, constants, and routines that are commonly used across other JTF source code units.
----------------------------------------------------------------------------------------------------
TJvTFApptDescEvent

Unit
JvTFServer
TJvTFApptDescEvent(Sender: TObject; Appt: TJvTFAppt; var Description: String )of object;
Description
This event type is used for the OnGetApptDescription and OnSetApptDescription events in TJvTFScheduleManager. Sender is the TJvTFScheduleManager that is firing the event. Appt is a reference to the appointment whose Description property is being read/written. Description is the appointment's description and is modifiable by you.

----------------------------------------------------------------------------------------------------
TJvTFApptEvent

Unit
JvTFServer
TJvTFApptEvent(Sender: TObject; Appt: TJvTFAppt )of object;
Description
The TJvTFApptEvent type is used for appointment related events such as OnPostAppt and OnDeleteAppt. Sender will be the object that fired the event, which is most likely to be a TJvTFScheduleManager. Appt will contain the appointment object that is being affected.



----------------------------------------------------------------------------------------------------
TJvTFBeginEditEvent
See also
Unit
JvTFDays
TJvTFBeginEditEvent=procedure(Sender: TObject; Appt: TJvTFAppt; var AllowEdit: Boolean) of object;
Description
This type is used for the TJvTFDays.OnBeginEdit event. Appt will be the appointment that is about to be edited. AllowEdit will be True, but can be changed to False to prevent the editing of the appointment.

----------------------------------------------------------------------------------------------------
TJvTFCellPic
See also
Unit
JvTFGlance
Description
The TJvTFCellPic class is a TCollectionItem which is stored in TJvTFCellPics. It describes an image that appears in a (Glance control) cell title.


----------------------------------------------------------------------------------------------------
TJvTFCellPic.PicCollection
TJvTFCellPic	See also
function PicCollection: TJvTFCellPics;
Description
This function returns a reference to the collection (TJvTFCellPics) that holds this item.

----------------------------------------------------------------------------------------------------
TJvTFCellPic.Hints
TJvTFCellPic	See also
property Hints: TStrings;
Description
Use this property to specify any number of strings that will appear in a hint window when the mouse is over the pic.

----------------------------------------------------------------------------------------------------
TJvTFCellPic.PicIndex
TJvTFCellPic	See also
property PicIndex: Integer;
Description
This property specifies the location (index) that the pic can be found in the TImageList that is referenced in the CellPics property.

----------------------------------------------------------------------------------------------------
TJvTFCellPic.PicName
TJvTFCellPic	See also
property PicName: String;
Description
This property allows you to specify a name for the image. TJvTFCellPics provides a few methods that allows you retrieve a pic by its name.

----------------------------------------------------------------------------------------------------
TJvTFCellPic.PicPoint
TJvTFCellPic
property PicPoint: TPoint;
Description
Internal Use Only. This property returns the top-left coordinate of the image in the cell title.


----------------------------------------------------------------------------------------------------
TJvTFCellPics
See also
Unit
JvTFGlance
Description
The TJvTFCellPics class is a TCollection descendant which hold individual TJvTFCellPic items. A TJvTFCellPic item describes an image that will be placed in the cell title in a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFCellPics.Add
TJvTFCellPics	See also
function Add: TJvTFCellPic;
Description
Adds a new TJvTFCellPic item to the collection. Use the AddPic method instead to save a few lines of code.

----------------------------------------------------------------------------------------------------
TJvTFCellPics.AddPic
TJvTFCellPics	See also
function AddPic(PicName: String; PicIndex: Integer ): TJvTFCellPic;
Description
Call AddPic to add a new image to the collection. Specify a name for the image in PicName. Specify the location (index) of the image in the TImageList pointed to by the CellPics property.

Calling AddPic is equivilent to:
aCellPic := CellPics.Add;
aCellPic.PicName := SomeName;
aCellPic.PicIndex := SomeIndex;



----------------------------------------------------------------------------------------------------
TJvTFCellPics.Create
TJvTFCellPics
constructor Create(aGlanceCell: TJvTFGlanceCell );
Description
Creates a new TJvTFCellPics collection object and designates aGlanceCell as its 'owner'.

----------------------------------------------------------------------------------------------------
TJvTFCellPics.GetPicIndex
TJvTFCellPics	See also
function GetPicIndex(PicName: String ): Integer;
Description
Use this function to retrieve the index of the image in the referenced TImageList when you know the name of the image.

----------------------------------------------------------------------------------------------------
TJvTFCellPics.PicByName
TJvTFCellPics	See also
function PicByName(PicName: String ): TJvTFCellPic;
Description
Use this method to retrieve a TJvTFCellPic object when you know the name of the image.

----------------------------------------------------------------------------------------------------
TJvTFCellPics.GlanceCell
TJvTFCellPics	See also
property GlanceCell: TJvTFGlanceCell;
Description
This property specifies the "owning" cell object (the cell where the pics will be drawn).

----------------------------------------------------------------------------------------------------
TJvTFCellPics.Items
TJvTFCellPics	See also
property Items [ Index: Integer ]: TJvTFCellPic;
Description
Use this property to retrieve a TJvTFCellPic object when you know its index in the collection. Note that this index is different then TJvTFCellPic.PicIndex.
----------------------------------------------------------------------------------------------------

TJvTFColTitleStyle

Unit
JvTFDays
TJvTFColTitleStyle=( ctsSingleClip, ctsSingleEllipsis, ctsMultiClip, ctsMultiEllipsis, ctsHide);
Description
TJvTFColTitleStyle is used to specify the manner is which the column titles are drawn within the column headers.

ctsSingleClip
The title is drawn on a single line and clipped to the headers boundries.

ctsSingleEllipsis
The title is drawn on a single line. The text is truncated with ellipsis if there is not enough room to display all of the text.

ctsMultiClip
The title may be wrapped to multiple lines. Any text that falls outside of the header's boundry is clipped .

ctsMultiEllipsis
The title may be wrapped to multiple lines. The text is truncated with ellipsis if there is not enough room to display all of the text .

ctsHide
The title is drawn on a single line. If there is not enough room to display all of the text none of the text will be displayed.


----------------------------------------------------------------------------------------------------
TJvTFCreateQuickEntryEvent

Unit
JvTFDays
 TJvTFCreateQuickEntryEvent=procedure( Sender: TObject; var ApptID: String; var StartDate: TDate; var StartTime: TTime; var EndDate: TDate; var EndTime: TTime; var Confirm: Boolean )of object;
 Description
This event type gives you control over the QuickEntry process. The TJvTFDays.OnCreateQuickEntry event is fired immediately before an appointment object is created during the QuickEntry process. If you use custom appointment IDs you can specify your own ID in the ApptID parameter. You can also change the default date and time information using the date and time parameters. Set the Confirm parameter to False if you need to prevent an appointment from being created.


----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap

Unit
JvTFServer
Description
The TJvTFCustomImageMap is part of the system that allows you to attach custom images to specific appointments. Specifically, the TJvTFCustomImageMap is part of a TJvTFAppt object and allows you to assign a name to an image from a TImageList. You can then reference the image by name or by its index in the map (which is different than the index in the ImageList).

Note: The TJvTFScheduleManager.CustomImages is the TImageList that is referenced.

----------------------------------------------------------------------------------------------------

TJvTFCustomImageMap.Add
TJvTFCustomImageMap
procedure Add(ImageName: String; ImageIndex: Integer );
Description
Use Add to add a new image to the map. Specify a name for the image in ImageName . Specify the location of the image in the ImageList in ImageIndex .


----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.Assign
TJvTFCustomImageMap
procedure Assign(Source: TJvTFCustomImageMap );
Description
Use the Assign method to assign one CustomImageMap to another.

----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.Clear
TJvTFCustomImageMap
procedure Clear;
Description
Removes all entries from the map.

----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.Count
TJvTFCustomImageMap
function Count: Integer;
Description
Returns the number of entries in the map.

----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.Create
TJvTFCustomImageMap
constructor Create(anAppt: TJvTFAppt );
Description
You should not need to create a TJvTFCustomImageMap object. This is done for you by the server as it creates a TJvTFAppt object. If you do however, you need to specify the TJvTFAppt object that will "own" the custom image map.


----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.Delete
TJvTFCustomImageMap
procedure Delete(MapIndex: Integer );
Description
Removes the map entry at MapIndex.

----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.FindImageIndex
TJvTFCustomImageMap
function FindImageIndex(ImageName: String ): Integer;
Description
Use FindImageIndex to get the index position of the image (specified in ImageName) in the ImageList.

----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.FindMapIndex
TJvTFCustomImageMap
function FindMapIndex(ImageName: String ): Integer;
Description
Use FindMapIndex to get the position of the image (specified by ImageName) in the map.

----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.Move
TJvTFCustomImageMap
procedure Move(SrcMapIndex, DestMapIndex: Integer );
Description
Moves the image (entry) found at SrcMapIndex to DestMapIndex .

----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.ImageNames
TJvTFCustomImageMap
property ImageNames [ MapIndex: Integer ]: String;
Description
The ImageNames property allows you to retrieve the name of the image at the given index. (Note that the index is the map index and not the index of the image in the ImageList.)


----------------------------------------------------------------------------------------------------
TJvTFCustomImageMap.Images
TJvTFCustomImageMap
property Images [ MapIndex: Integer ]: Integer;
Description
The Images property allows you to retrieve the index where the image can be found in the ImageList given an index in the image map.


----------------------------------------------------------------------------------------------------
TJvTFDateChangingEvent

Unit
JvTFDays
TJvTFDateChangingEvent=procedure( Sender: TObject; var NewDate: TDate )of object;
Description
The TJvTFDateChangingEvent type is primarily used for the TJvTFDays.OnDateChanging event. NewDate will specify the new date in question.


----------------------------------------------------------------------------------------------------
TJvTFDateList
Events
Unit
JvTFServer


----------------------------------------------------------------------------------------------------
TJvTFDateList.OnChange
TJvTFDateList
property OnChange: TNotifyEvent;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFDateList.Add
TJvTFDateList
function Add(aDate: TDate ): Integer;
Description
Adds a date to the list.

----------------------------------------------------------------------------------------------------
TJvTFDateList.Clear
TJvTFDateList
procedure Clear;
Description
Clears the list.

----------------------------------------------------------------------------------------------------
TJvTFDateList.Count
TJvTFDateList
function Count: Integer;
Description
Returns the number of dates stored in the list.

----------------------------------------------------------------------------------------------------
TJvTFDateList.Delete
TJvTFDateList
procedure Delete(Index: Integer );
Description
Deletes a date with the given index from the list.

----------------------------------------------------------------------------------------------------
TJvTFDateList.IndexOf
TJvTFDateList
function IndexOf(aDate: TDate ): Integer;
Description
Returns the index of the given. Returns -1 if the date is not found.

----------------------------------------------------------------------------------------------------
TJvTFDateList.Dates
TJvTFDateList	See also
property Dates [ Index: Integer ]: TDate;
Description
Provides access to the list of dates.

----------------------------------------------------------------------------------------------------
TDayOfWeek

Unit
JvTFDays
TDayOfWeek=( dowSunday, dowMonday, dowTuesday, dowWednesday, dowThursday, dowFriday, dowSaturday);
Description
Enumerates the days of the week.

----------------------------------------------------------------------------------------------------
TDaysOfWeek

Unit
JvTFDays
TDaysOfWeek=set of TDayOfWeek;
Description
Defines a set type to hold various days of the week.

----------------------------------------------------------------------------------------------------
TJvTFDirection

Unit
JvTFUtils
TJvTFDirection=( dirUp, dirDown, dirLeft, dirRight);
Description
Defines a direction.

----------------------------------------------------------------------------------------------------
TJvTFDragInfo
See Also
Unit
JvTFServer
Description
The TJvTFDragInfo object is used by the Drag/Drop routines of JvTFControls. This object contains information about the current drag operation and facilitates dragging appointments across different JvTFControls.

Since the JvTFDays control natively handles all drag/drop functions, you should not have to work with this object.



----------------------------------------------------------------------------------------------------
TJvTFDragInfo.Appt
TJvTFDragInfo
property Appt: TJvTFAppt;
Description
The Appt property will point to the TJvTFAppt that is being dragged.



----------------------------------------------------------------------------------------------------
TJvTFDragInfo.ApptCtrl
TJvTFDragInfo
property ApptCtrl: TJvTFControl;
Description
The ApptCtrl property will point to the Control where the drag operation originated.



----------------------------------------------------------------------------------------------------
TJvTFDragInfo.Schedule
TJvTFDragInfo
property Schedule: TJvTFSched;
Description
The Schedule property will point to the TJvTFSched where the drag operation originated.



----------------------------------------------------------------------------------------------------
TJvTFDragInfo.Shift
TJvTFDragInfo
property Shift: TShiftState;
Description
The Shift property will contain shift information for the drag operation.


----------------------------------------------------------------------------------------------------
TJvTFDragRowColEvent

Unit
JvTFDays
TJvTFDragRowColEvent=procedure( Sender: TObject; Index: Integer; var NewInfo: Integer; var Confirm: Boolean )of object;
Description
This event type is used for several different events in the JvTFDays grid. These events are: OnSizeCol, OnSizeRow, OnSizeColHdr, OnSizeRowHdr, and OnMoveCol. The meaning of the meaning of the Index and NewInfo parameters vary according to the specific event. For all of these events you can set Confirm to False to abort the operation.


----------------------------------------------------------------------------------------------------
TJvTFDrawApptBarEvent

Unit
JvTFDays
TJvTFDrawApptBarEvent=procedure( Sender: TObject; aCanvas: TCanvas; Appt: TJvTFAppt; Col: Integer; BarRect, TimeStampRect: TRect )of object;
Description
This is event is fired immediately after the control has finished drawing the appoinment bar. You can use this event to provide custom drawing of the appointment bar. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

Appt will reference the appointment whose bar is currently being drawn. Col contains the index of the column where the appointment is being drawn. BarRect is the bounding rectangle for the appointment bar. TimeStampRect is a rectangle within BarRect that is representative of the actual start and length of the appointment. The left and right sides of TimeStampRect will always be equal to the left and right sides of the BarRect.

----------------------------------------------------------------------------------------------------
TJvTFDrawApptEvent

Unit
JvTFDays
TJvTFDrawApptEvent=procedure(Sender: TObject; aCanvas: TCanvas; aRect: TRect; Appt: TJvTFAppt; Selected: Boolean) of object;
Description
This event type is used for the TJvTFDays.OnDrawAppt event. aCanvas will provide you with a canvas to use for any custom drawing. aRect will specify the bounding rectangle of the appointment being drawn. (This rectangle is "virtual" meaning it is not clipped to the visible area of the control.) Appt will point to the appointment that is being drawn. Selected will be true if Appt is the selected appointment in the grid.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFDrawCornerEvent

Unit
JvTFDays
TJvTFDrawCornerEvent=procedure( Sender: TObject; aCanvas: TCanvas; aRect: TRect; Corner: TJvTFDaysCorner )of object;
Description
This event type is used for the TJvTFDays.OnDrawCorner event. You can use that event to draw any of the visible corners in any manner you like. aCanvas provides the canvas for custom drawing. aRect specifies the bounding rectangle for the corner. Corner specifies which corner of the control is being drawn.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFDrawDataCellEvent

Unit
JvTFDays
TJvTFDrawDataCellEvent=procedure( Sender: TObject; aCanvas: TCanvas; aRect: TRect; Col, Row: Integer )of object;
Description
This event type is used for the TJvTFDays.OnDrawDataCell event. You can use that event to custom draw any of the data cells. aCanvas provides the canvas for any custom drawing. aRect specifies the bounding rectangle for the data cell. Col and Row define the data cell that is being drawn.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFDrawDWTitleEvent

Unit
JvTFServer
TJvTFDrawDWTitleEvent=procedure(Sender: TObject; aCanvas: TCanvas; aRect: TRect; DOW: TDayOfWeek; DWName: String) of object;
Description
Used for a OnDrawDWTitle event, which is fired when day of week title is being drawn. aCanvas provides a canvas for custom drawing. aRect specifies the bounding rect of the DW title. DOW specifies for which day of the week the title is being drawn for. DWName specifies the name of the day of the week that will be drawn in the title.

JvTF buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFDrawGrabHandleEvent

Unit
JvTFDays
TJvTFDrawGrabHandleEvent=procedure( Sender: TObject; aCanvas: TCanvas; aRect: TRect; Appt: TJvTFAppt; TopHandle: Boolean )of object;
Description
This type is used for the TJvTFDays.OnDrawGrabHandle event. aCanvas provides the canvas you should use for any custom drawing. aRect specifies the bounding rectangle of the grab handle being drawn. Appt will point to the appointment object for which the handles are being drawn. TopHandle will be True if the top handle is being drawn, False if the bottom handle is being drawn.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFDrawHdrEvent

Unit
JvTFDays
TJvTFDrawHdrEvent=procedure( Sender: TObject; aCanvas: TCanvas; aRect: TRect; Index: Integer; Selected: Boolean )of object;
Description
This event type is used for the TJvTFDays.OnDrawColHdr and TJvTFDays.OnDrawRowHdr events. You can use those events to customize the appearance of the column and row headers. aCanvas provides the canvas for any custom drawing. aRect specifies the bounding rectangle for the header being drawn. Index specifies the column or row index of the header being drawn (whichever is appropriate). Selected will be true if the header being drawn is selected in the grid.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFDropApptEvent

Unit
JvTFDays
TJvTFDropApptEvent=procedure( Appt: TJvTFAppt; SchedName: String; NewStartDate: TDate; NewStartTime: TTime; NewEndDate: TDate; NewEndTime: TTime; Share: Boolean; var Confirm: Boolean )of object;
Description
This event type is used for the TJvTFDays.OnDropAppt e vent. You can use that event to retrieve information about the new position of the appointment and abort the operation if necessary. Appt will point to the appointment that is being dropped. SchedName will contain the name of the schedule (resource) that the appointment is being dropped on. SchedNew start/end information is provided in the New* parameters. Share will be true if the appointment should be shared with the schedule (resource) specified in SchedName. (A False value for Share would indicate that the appointment is being moved from the original to the schedule named in SchedName.) You can set Confirm to False to abort the operation.


----------------------------------------------------------------------------------------------------
TJvTFDWNameSource

Unit
JvTFServer
TJvTFDWNameSource=( dwnsSysLong, dwnsSysShort, dwnsCustom);
Description
Value		Meaning
dwnsSysLong	The day of week display name will be retrieved from the system's day of week long format.
dwnsSysShort	The day of week display name will be retrieved from the system's day of week short format.
dwnsCustom	The day of week display name will be retrieved from one of the DWN properties.

----------------------------------------------------------------------------------------------------
TDynApptArray

Unit
JvTFServer
TDynApptArray=Array of TJvTFAppt;
Description
TDynApptArray is a dynamic array used to list appointment objects.

This type is NOT available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TDynIntArray

Unit
JvTFDays
TDynIntArray=Array of Integer;
Description
This type defines a dynamic integer array which is used for several methods, including TJvTFDays.EnumSelCols and TJvTFDays.EnumSelRows.

This type is not available in the Delphi 3 version of JTF.


----------------------------------------------------------------------------------------------------
TDynPointArray

Unit
JvTFDays
TDynPointArray=Array of TPoint;
Description
This type defines a dynamic TPoint array which is used for the TJvTFDays.EnumSelCells method.

This type is not available in the Delphi 3 version of JTF.


----------------------------------------------------------------------------------------------------
TDynSchedArray

Unit
JvTFServer
TDynSchedArray=Array of TJvTFSched;
Description
TDynSchedArray is a dynamic array used to list schedule objects.

This type is NOT available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TDynTimeRangeArray

Unit
JvTFServer
TDynTimeRangeArray=Array of TJvTFTimeRange;
Description
TDynTimeRangeArray is a dynamic array used to list ranges of time.

This type is NOT available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TJvTFFailEditorEvent

Unit
JvTFDays
TJvTFFailEditorEvent=procedure( Sender: TObject; Col: Integer; Appt: TJvTFAppt; var EditorBounds: TRect; var Fail: Boolean )of object;
Description
This event type is used for the TJvTFDays.OnFailEditor event. Col will contain the index of the column that contains the appointment that failed to display the in-place editor. Appt will point to that appointment. EditorBounds will contain the bounding rectangle of the editor and can be changed appropriately by you. Set Fail to False to display the editor.



----------------------------------------------------------------------------------------------------
TJvTFFlushEvent

Unit
JvTFServer
TJvTFFlushEvent=procedure( Sender, FlushObj: TObject; var FlushIt: Boolean )of object;
Description
The TJvTFFlushEvent type is used for the OnFlush event. Sender will be the object that has fired the event and most likely will be a TJvTFScheduleManager. FlushObj will contain the object that is about to be removed from memory and will be either a TJvTFSched or a TJvTFAppt. If you set FlushIt to False, the FlushObj will not be removed from memory.


----------------------------------------------------------------------------------------------------
TJvTFGetApptDisplayTextEvent

Unit
JvTFServer
TJvTFGetApptDisplayTextEvent=procedure( Sender: TObject; Source: TComponent; Appt: TJvTFAppt; var DisplayText: String )of object;
Description
This event type is used by the TJvTFScheduleManager.OnGetApptDisplayText event. Source is a reference to the component that is requesting the appointment's display text. Appt is a reference to the appointment in question. DisplayText is the text that Source will display for appointment, and is modifiable by you.

----------------------------------------------------------------------------------------------------
TJvTFGetDaysApptDrawInfoEvent
See also
TJvTFGetDaysApptDrawInfoEvent=procedure(Sender: TObject; Appt: TJvTFAppt; DrawInfo: TJvTFDaysApptDrawInfo) of object; Description
This type is used for the TJvTFDays.OnGetApptDrawInfo event. Appt specifies the appointment this is to be drawn. DrawInfo will specify the default appearance of the appointment. You can change the properties of the DrawInfo object in order to customize the appearance of the appointment. Please see TJvTFDaysApptDrawInfo for a list of properties that you can change.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell
See also
Unit
JvTFGlance
Description
TJvTFGlanceCell is a TCollectionItem which is held by a TJvTFGlanceCells object. TJvTFGlanceCell describes a cell in a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.CheckConnections
TJvTFGlanceCell
procedure CheckConnections;
Description
Internal Use Only. Synchronizes the cell's connection to one or more TJvTFSched objects based upon the current configuration.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.IndexOfSchedObj
TJvTFGlanceCell	See also
function IndexOfSchedObj(aSched: TJvTFSched ): Integer;
Description
Internal Use Only. Retrieves the index (location) of the aSched in the cell's Schedules list.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.IndexOfSchedule
TJvTFGlanceCell	See also
function IndexOfSchedule(SchedName: String; SchedDate: TDate ): Integer;
Description
Internal Use Only. Retrieves the index (location) in the cell's Schedules list of the TJvTFSched object described by SchedName and SchedDate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.IsParent
TJvTFGlanceCell	See also
function IsParent: Boolean;
Description
Returns True if the cell is not split or if the cell is split and the cell is the 'parent' cell.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.IsSchedUsed
TJvTFGlanceCell	See also
function IsSchedUsed(aSched: TJvTFSched ): Boolean;
Description
Returns True if the given schedule object is found in the cell's connection list, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.IsSplit
TJvTFGlanceCell	See also
function IsSplit: Boolean;
Description
Returns True if the cell is split, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.IsSubcell
TJvTFGlanceCell	See also
function IsSubcell: Boolean;
Description
Returns True if the cell is split and the cell is a subcell (not the parent).

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.ScheduleCount
TJvTFGlanceCell
function ScheduleCount: Integer;
Description
Returns the number of schedule objects in the cell's Schedules list.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.CanSelect
TJvTFGlanceCell
property CanSelect: Boolean;
Description
If this property is True the cell can be selected. If False, it cannot be selected.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.CellCollection
TJvTFGlanceCell	See also
property CellCollection: TJvTFGlanceCells;
Description
References the collection object that holds this TJvTFGlanceCell item.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.CellDate
TJvTFGlanceCell	See also
property CellDate: TDate;
Description
Specifies the date that the cell will display. This value combined with the sched names (resources) listed in the SchedNames property will determine which schedule(s) the cell will display.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.CellPics
TJvTFGlanceCell	See also
property CellPics: TJvTFCellPics;
Description
Holds the TJvTFCellPics collection object, which specifies which images should be shown in the cell's title.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.ColIndex
TJvTFGlanceCell	See also
property ColIndex: Integer;
Description
Specifies the index of the column that the cell is found in.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.Color
TJvTFGlanceCell	See also
property Color: TColor;
Description
Specifies the background color of the cell. (Not yet implemented.)

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.ParentCell
TJvTFGlanceCell	See also
property ParentCell: TJvTFGlanceCell;
Description
Returns the parent cell if the cell is split. If the cell is the parent cell, this property will return a reference to itself.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.RowIndex
TJvTFGlanceCell	See also
property RowIndex: Integer;
Description
Specifies the index of the row the cell is found in.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.Schedules
TJvTFGlanceCell	See also
property Schedules [ Index: Integer ]: TJvTFSched;
Description
Returns one of the schedule objects (based on the given index) that is connected to the cell.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.SplitOrientation
TJvTFGlanceCell	See also
property SplitOrientation: TJvTFSplitOrientation default soHorizontal;
Description
Determines whether the cell is split left-to-right or top-to-bottom.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.SplitRef
TJvTFGlanceCell	See also
property SplitRef: TJvTFGlanceCell;
Description
This property holds a reference to another cell object. If the cell is split and it is the parent, SplitRef will reference the subcell. If the cell is split and it is the subcell, SplitRef will reference the parent. If the cell is not split, SplitRef will return nil.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.Subcell
TJvTFGlanceCell	See also
property Subcell: TJvTFGlanceCell;
Description
Returns the subcell if the cell is split. If the cell is the subcell, this property will return a reference to itself.


----------------------------------------------------------------------------------------------------
TJvTFGlanceCell.TitleText
TJvTFGlanceCell	See also
property TitleText: String;
Description
This property holds the text that will be displayed in the cell's title.
----------------------------------------------------------------------------------------------------
TJvTFGlanceCellAttr

Unit
JvTFGlance
Description
This class allows you to customize the appearance of the cells in a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCellAttr.Create
TJvTFGlanceCellAttr
constructor Create(AOwner: TJvTFCustomGlance );
Description
You should never have to manually create this object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCellAttr.Color
TJvTFGlanceCellAttr
property Color: TColor default clWhite;
Description
Specifies the background color (shade) of the cell.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCellAttr.Font
TJvTFGlanceCellAttr
property Font: TFont;
Description
Specifies the font used to draw text in the cell.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCellAttr.FrameAttr
TJvTFGlanceCellAttr	See also
property FrameAttr: TJvTFGlanceFrameAttr;
Description
Allows you customize the appearance of the cell's frame (border). See TJvTFGlanceFrameAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCellAttr.GlanceControl
TJvTFGlanceCellAttr
property GlanceControl: TJvTFCustomGlance;
Description
Points to the Glance control that 'owns' the object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCellAttr.TitleAttr
TJvTFGlanceCellAttr	See also
property TitleAttr: TJvTFGlanceTitleAttr;
Description
You can use this property to customize the appearance of the cell's title. See TJvTFGlanceTitleAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells
See also
Unit
JvTFGlance
Description
TJvTFGlanceCells is a TCollection object that holds individual TJvTFGlanceCell items. A TJvTFGlanceCell item describes a cell within a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.Add
TJvTFGlanceCells
function Add: TJvTFGlanceCell;
Description
Add a new TJvTFGlanceCell object to the collection. Do not call this method if AllowAdd is False.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.CheckConnections
TJvTFGlanceCells
procedure CheckConnections;
Description
Internal Use Only. Synchronizes each cell's connection to one or more TJvTFSched objects based upon the current configuration.


----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.Create
TJvTFGlanceCells
constructor Create(aGlanceControl: TJvTFCustomGlance );
Description
Creates the collection object and designates aGlanceControl as its 'owner'.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.IsSchedUsed
TJvTFGlanceCells	See also
function IsSchedUsed(aSched: TJvTFSched ): Boolean;
Description
Returns True if any one of the cell items is connected to the given schedule object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.ReconfigCells
TJvTFGlanceCells
procedure ReconfigCells;
Description
Internal Use Only. This method is called internally when the cell count remains the same, but the date of each cell changes.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.AllowAdd
TJvTFGlanceCells	See also
property AllowAdd: Boolean;
Description
Internal Use Only. If this property is False, cell objects may only be added by an internal process. A call to TJvTFGlanceCells.Add will fail to add a cell object to the collection.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.AllowDestroy
TJvTFGlanceCells	See also
property AllowDestroy: Boolean;
Description
Internal Use Only. If this property is False, cell objects may only be removed (destroyed) by an internal process. A call to TJvTFGlanceCell.Free will fail to destroy the cell object and remove it from the collection.


----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.Cells
TJvTFGlanceCells	See also
property Cells [ ColIndex, RowIndex: Integer ]: TJvTFGlanceCell;
Description
This property allows you to access each of the contained cell objects by specifying the row and column index.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.Configuring
TJvTFGlanceCells
property Configuring: Boolean;
Description
This property will be True if JTF is in the process of configuring the individual cell objects.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.GlanceControl
TJvTFGlanceCells
property GlanceControl: TJvTFCustomGlance;
Description
References the Glance control that 'owns' the cell collection.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCells.Items
TJvTFGlanceCells
property Items [ Index: Integer ]: TJvTFGlanceCell;
Description
References each cell object by its index in the collection.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord
Properties
Unit
JvTFGlance
Description
This record is used to describe various information given a point on a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.AbsX
TJvTFGlanceCoord
AbsX: Integer;
Description
Specifies the X value of the coord in relation to the control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.AbsY
TJvTFGlanceCoord
AbsY: Integer;
Description
Specifies the Y value of the coord in relation to the control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.Appt
TJvTFGlanceCoord
Appt: TJvTFAppt;
Description
Specifies the appt object that is found at the coordinate. This field will be nil if there is not an appt found at the coordinate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.Cell
TJvTFGlanceCoord
Cell: TJvTFGlanceCell;
Description
Points to the cell object that is found at the coordinate. This field will be nil if there is not a cell object found at the coordinate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.CellTitlePic
TJvTFGlanceCoord
CellTitlePic: TJvTFCellPic;
Description
Points to a CellPic that is found at the coordinate. This field will be nil if there is not a CellPic found at the coordinate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.CellX
TJvTFGlanceCoord
CellX: Integer;
Description
Specifies the X value of the coordinate in relation to the cell (or title) found at the coordinate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.CellY
TJvTFGlanceCoord
CellY: Integer;
Description
Specifies the Y value of the coordinate in relation to the cell (or title) found at the coordinate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.Col
TJvTFGlanceCoord
Col: Integer;
Description
Specifies the index of the column found at the coordinate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.DragAccept
TJvTFGlanceCoord
DragAccept: Boolean;
Description
If True, an appt can be dropped at the coordinate. If False, an appt cannot be dropped at the coordinate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.InCellTitle
TJvTFGlanceCoord
InCellTitle: Boolean;
Description
Will be True if the coordinate falls within a cell title, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFGlanceCoord.Row
TJvTFGlanceCoord
Row: Integer;
Description
Specifies the index of the row found at the coordinate.


----------------------------------------------------------------------------------------------------
TJvTFGlanceDrawCellEvent
See also
Unit
JvTFGlance
TJvTFGlanceDrawCellEvent=procedure(Sender: TObject; aCanvas: TCanvas; aCellRect, aTitleRect, aBodyRect: TRect; Attr: TJvTFGlanceCellAttr; Cell: TJvTFGlanceCell) of object;
Description
This event type is used for the OnDrawCell event for a Glance control.

aCanvas provides a canvas for any custom drawing. aCellRect gives the rect of the entire cell (title and body included). aTitleRect gives the rect of the title only. aBodyRect gives the rect of the body only. Attr specifies the cell attributes that were used to render the cell. And finally, Cell provides a reference to the cell object that is being drawn.

JTF buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.

----------------------------------------------------------------------------------------------------
TJvTFGlanceDrawTitleEvent
See also
Unit
JvTFGlance
TJvTFGlanceDrawTitleEvent=procedure( Sender: TObject; aCanvas: TCanvas; aRect: TRect )of object;
Description
This event type is used for the OnDrawTitleEvent. You can use that event to customize the appearance of the title. aCanvas provides a canvas for drawing. aRect will contain the rect of the title.

S IMPL buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.

----------------------------------------------------------------------------------------------------
TJvTFGlanceDropApptEvent
See also
Unit
JvTFGlance
TJvTFGlanceDropApptEvent=procedure(Sender: TObject; Appt: TJvTFAppt; var NewStartDate, NewEndDate: TDate; var Confirm: Boolean) of object;
Description
This event type is used for the OnDropAppt event for Glance controls. Appt will reference the appt object for the appt that is being dropped. NewStartDate and NewEndDate specify the new start/end information and can be changed by you. If you change Confirm to False you can prevent the appt from being dropped.

----------------------------------------------------------------------------------------------------
TJvTFGlanceFrameAttr
Events
Unit
JvTFGlance
Description
TJvTFGlanceFrameAttr is subclassed from TJvTFFrameAttr and allows the object to be 'owned' by a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceFrameAttr.Create
TJvTFGlanceFrameAttr
constructor Create(AOwner: TJvTFCustomGlance );
Description
You should never have to manually create this object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceFrameAttr.GlanceControl
TJvTFGlanceFrameAttr
property GlanceControl: TJvTFCustomGlance;
Description
Points to the Glance control that owns the object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceMainTitle
See Also
Unit
JvTFGlance
Description
This class is derived from TJvTFGlanceTitle and allows you specify the title text.

----------------------------------------------------------------------------------------------------
TJvTFGlanceMainTitle.Title
TJvTFGlanceMainTitle
property Title: String;
Description
Specifies the title text.
----------------------------------------------------------------------------------------------------

TJvTFGlanceSelList
Events
Unit
JvTFGlance
Description
This class is derived from TJvTFDateList and allows a Glance control to 'own' the object. It is used by a Glance control to maintain a list of selected dates.

----------------------------------------------------------------------------------------------------
TJvTFGlanceSelList.Create
TJvTFGlanceSelList
constructor Create(AOwner: TJvTFCustomGlance );
Description
You should never have to manually create this object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceSelList.GlanceControl
TJvTFGlanceSelList
property GlanceControl: TJvTFCustomGlance;
Description
Points to the Glance control that owns the object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer
Events
Unit
JvTFGlanceTextViewer
Description
The TJvTFGlanceTextViewer is derived from TJvTFGlanceViewer. TJvTFGlanceViewer is the base class for all viewers used with Glance controls. A GlanceViewer controls how appts are displayed within the cells of a Glance control.

The only viewer available at this time is TJvTFGlanceTextViewer, which display appts textually and allows in-place editing. The TJvTFGlanceTextViewer can be found on the JTF component palette. Drop a GlanceTextViewer onto a form and connect it to a Glance control via this property. Important Note: Each Glance control must have its own viewer. Viewers cannot be shared.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.OnLineDDClick
TJvTFGlanceTextViewer
property OnLineDDClick: TJvTFLineDDClickEvent;
Description
This event is fired when the user clicks on the drop-down button that appears on the right side of each line as the mouse moves over the line. Normally, clicking on the drop-down button will activate the in-place editor.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.CanEdit
TJvTFGlanceTextViewer
function CanEdit: Boolean;
Description
Returns True if the in-place editing is allowed, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.EditAppt
TJvTFGlanceTextViewer	See also
procedure EditAppt(aCell: TJvTFGlanceCell; RelLine: Integer; Appt: TJvTFAppt );
Description
Call this method to dynamically activate the in-place editor. You must specify the cell (aCell) where the appt is found, the relative line (RelLine) where the appt is found, and the appt (Appt) itself.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.Editing
TJvTFGlanceTextViewer
function Editing: Boolean;
Description
Will return True if the in-place editor is currently visible, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.FinishEditAppt
TJvTFGlanceTextViewer
procedure FinishEditAppt;
Description
Call this method to dynamically terminate the editing of an appt and hide the in-place editor.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.GetApptAt
TJvTFGlanceTextViewer
function GetApptAt(X, Y: Integer ): TJvTFAppt;
Description
This function will return the appointment that is found at coordinate (X, Y), relative to the viewer. GetApptAt will return nil if no appt is found at (X, Y).

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.GetDrawInfo
TJvTFGlanceTextViewer
function GetDrawInfo(aCell: TJvTFGlanceCell ): TJvTFGlTxtVwDrawInfo;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.GetTopLine
TJvTFGlanceTextViewer
function GetTopLine(aCell: TJvTFGlanceCell ): Integer;
Description
This function will return the index of the line that is currently at the top of the cell specified by aCell.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.MouseAccel
TJvTFGlanceTextViewer
procedure MouseAccel(X, Y: Integer );
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.ResetTopLines
TJvTFGlanceTextViewer
procedure ResetTopLines;
Description
This method will set the top line for each cell to 0.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.SetTopLine
TJvTFGlanceTextViewer
procedure SetTopLine(aCell: TJvTFGlanceCell; Value: Integer );
Description
This method will set the top line of the cell specified by aCell to Value.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.EditorAlign
TJvTFGlanceTextViewer
property EditorAlign: TJvTFGlTxtVwEditorAlign default eaLine;
Description
Use this property to specify how the in-place editor should be aligned. If eaLine, the editor will be aligned to the line of the appointment that is begin edited. If eaCell, the editor will be sized to cover the entire cell that contains the appt being edited.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.LineSpacing
TJvTFGlanceTextViewer
property LineSpacing: Integer default 0;
Description
Use this property to adjust the spacing between each line in the viewer. Negative values are valid.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.SelAppt
TJvTFGlanceTextViewer
property SelAppt: TJvTFAppt;
Description
This property will point to the currently selected appt. SelAppt will be nil if no appt is selected.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.SelApptAttr
TJvTFGlanceTextViewer	See also
property SelApptAttr: TJvTFTxtVwApptAttr;
Description
Use this property to customize the appearance of selected appointments. See TJvTFTxtVwApptAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTextViewer.ShowStartEnd
TJvTFGlanceTextViewer
property ShowStartEnd: Boolean default True;
Description
If True, the start/end info will be included in the appointment text. If False, the start/end info will be excluded.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle
Events
Unit
JvTFGlance
Description
This class is used to customize the appearance of a title in a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.OnChange
TJvTFGlanceTitle
property OnChange: TNotifyEvent;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.Create
TJvTFGlanceTitle
constructor Create(AOwner: TJvTFCustomGlance );
Description
You should never have to manually create this object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.Color
TJvTFGlanceTitle
property Color: TColor default clBtnFace;
Description
Specifies the background color (shade) of the title.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.FrameAttr
TJvTFGlanceTitle	See also
property FrameAttr: TJvTFGlanceFrameAttr;
Description
Allows you to control the appearance of the title's frame (border). See TJvTFGlanceFrameAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.GlanceControl
TJvTFGlanceTitle
property GlanceControl: TJvTFCustomGlance;
Description
Points to the Glance control that 'owns' the object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.Height
TJvTFGlanceTitle
property Height: Integer default 40;
Description
Specifies the height of the title.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.TxtAttr
TJvTFGlanceTitle	See also
property TxtAttr: TJvTFTextAttr;
Description
You can use this property to control how the title text is drawn. See TJvTFTextAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitle.Visible
TJvTFGlanceTitle
property Visible: Boolean default True;
Description
Controls the visibility of the title.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitlePicAttr
Events
Unit
JvTFGlance
Description
The TJvTFGlanceTitlePicAttr class allows you to customize how an images appears in the cell titles of Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitlePicAttr.OnChange
TJvTFGlanceTitlePicAttr
property OnChange: TNotifyEvent;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitlePicAttr.AlignH
TJvTFGlanceTitlePicAttr	See also
property AlignH: TAlignment default taLeftJustify;
Description
Specifies the horizontal alignment of the images in a cell title of a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitlePicAttr.AlignV
TJvTFGlanceTitlePicAttr	See also
property AlignV: TJvTFVAlignment default vaCenter;
Description
Specifies the vertical alignment of the images in a cell title of a Glance control.


----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer

Unit
JvTFGlance
Description
TJvTFGlanceViewer is the base class for all viewers used with Glance controls. A GlanceViewer controls how appts are displayed within the cells of a Glance control.

The only viewer available at this time is TJvTFGlanceTextViewer, which display appts textually and allows in-place editing. The TJvTFGlanceTextViewer can be found on the JTF component palette. Drop a GlanceTextViewer onto a form and connect it to a Glance control via this property. Important Note: Each Glance control must have its own viewer. Viewers cannot be shared.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.ApptCount
TJvTFGlanceViewer	See also
function ApptCount: Integer;
Description
Returns the number of logical appointments that the viewer is displaying. This value may be different from the physical number of appointments that the viewer is connected to. Specifically, the values will be different if RepeatGrouped is True and the viewer is displaying an appt that is shared by two or more SchedNames (resources) that viewer is displaying.

See RepeatGrouped for a better explanation.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.CalcBoundsRect
TJvTFGlanceViewer
function CalcBoundsRect(aCell: TJvTFGlanceCell ): TRect;
Description
This function will calculate the bounds rect of the viewer for the cell given by aCell. The coordinates of the rect will relative to the Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.GetApptAt
TJvTFGlanceViewer
function GetApptAt(X, Y: Integer ): TJvTFAppt;
Description
This function will return the appt object found at the point (X, Y), where (X, Y) is relative to the Viewer. The function will return nil if no appt is found at (X, Y).

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.MoveTo
TJvTFGlanceViewer	See also
procedure MoveTo(aCell: TJvTFGlanceCell );
Description
Internal Use Only. Calling this method will physically move the viewer to the cell specified by aCell. Call SetTo to logically move the viewer to a specific cell. SetTo will make the viewer think it is at a particular cell without the viewer physically changing its current location.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Notify
TJvTFGlanceViewer
procedure Notify(Sender: TObject; Code: TJvTFServNotifyCode );
Description
Internal Use Only. This method is used for internal messaging.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.PaintTo
TJvTFGlanceViewer
procedure PaintTo(aCanvas: TCanvas; aCell: TJvTFGlanceCell );
Description
Internal Use Only. This method paints the viewer to the cell specified in aCell.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Realign
TJvTFGlanceViewer
procedure Realign;
Description
Internal Use Only. This method will realign the viewer to the cell, especially when the viewer may come out of alignment such as if the control is resized or the col/row count changes.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Refresh
TJvTFGlanceViewer
procedure Refresh;
Description
Internal Use Only. This method refreshes the appearance of the viewer, as in an invalidate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.ScheduleCount
TJvTFGlanceViewer	See also
function ScheduleCount: Integer;
Description
This function will return the number of schedules that the viewer is connected to. This value is equivalent to Cell.ScheduleCount.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.SetTo
TJvTFGlanceViewer	See also
procedure SetTo(aCell: TJvTFGlanceCell );
Description
Internal Use Only. This method will logically set the viewer to the cell specified by aCell. That is, the viewer will think it is at aCell, but it will not be physically moved from its current location. Use MoveTo to physically move the viewer.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Appts
TJvTFGlanceViewer	See also
property Appts [ Index: Integer ]: TJvTFAppt;
Description
This property gives access to each appt object that the viewer is connected to. Index is logical and is dependent on RepeatGrouped.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Cell
TJvTFGlanceViewer	See also
property Cell: TJvTFGlanceCell;
Description
Returns the cell object that the viewer is logically set to, which may be different from the cell where the viewer is physically located. Use PhysicalCell to get the physical location of the veiwer.

Use SetTo/MoveTo to logically/physically move the viewer.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Date
TJvTFGlanceViewer
property Date: TDate;
Description
Returns the date of the cell where the viewer is currently positioned. The value of this property is equivalent to Cell.CellDate.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.GlanceControl
TJvTFGlanceViewer
property GlanceControl: TJvTFCustomGlance;
Description
Points to the GlanceControl that the viewer is connected to.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.PhysicalCell
TJvTFGlanceViewer	See also
property PhysicalCell: TJvTFGlanceCell;
Description
Returns the cell object that the viewer is physically positioned over , which may be different from the cell where the viewer is logically located. Use Cell to get the logical location of the viewer.

Use SetTo/MoveTo to logically/physically move the viewer.


----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.RepeatGrouped
TJvTFGlanceViewer
property RepeatGrouped: Boolean default True;
Description
This property determines how shared appointments will handled. The best explanation is an example of the effect of RepeatGrouped in the GlanceTextViewer.
Assume the following:
2 physical appts:
Appt1 is shared between Bob, Jen, and Mike.
Appt2 is not shared and belongs to Bob.

JvTFGlance.SchedNames = Bob, Jen, and Mike.

 How many individual lines (logical appts) will be shown in the cell?

 If RepeatGrouped is TRUE - 4 lines (4 logical appts):
 Appt1 (for Bob)
 Appt1 (for Jen)
 Appt1 (for Mike)
 Appt2 (for Bob)

 If RepeatGrouped is FALSE - 2 lines (2 logical appts):
 Appt1 (for Bob, Jen, and Mike aggregated into one line)
 Appt2 (for Bob)



----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Schedules
TJvTFGlanceViewer
property Schedules [ Index: Integer ]: TJvTFSched;
Description
Allows access to each of the schedule objects the viewer is connected to. This property is equivalent to Cell.Schedules.

----------------------------------------------------------------------------------------------------
TJvTFGlanceViewer.Visible
TJvTFGlanceViewer
property Visible: Boolean;
Description
Internal Use Only. Controls the visibility of the viewer.
----------------------------------------------------------------------------------------------------
TJvTFGlTxtVwDrawInfo

Unit
JvTFGlanceTextViewer
Description
This type is used internally by the GlanceTextViewer and is not documented.

----------------------------------------------------------------------------------------------------
TJvTFGlTxtVwEditorAlign

Unit
JvTFGlanceTextViewer
TJvTFGlTxtVwEditorAlign=( eaLine, eaCell);
Description
Value		Meaning
eaLine		The in-place editor will be aligned to the line of the appt.
eaCell		The in-place editor will be aligned to the cell.

----------------------------------------------------------------------------------------------------
TJvTFGlTxtVwPointInfo

Unit
JvTFGlanceTextViewer
Description
This type is used internally by the GlanceTextViewer and is not documented.

----------------------------------------------------------------------------------------------------
TJvTFGrabStyle

Unit
JvTFDays
TJvTFGrabStyle=( gs3D, gsFlat);
Description
TJvTFGrabStyle specifies the different styles of grab handles. gs3D provides three dimensional ("ridged") handles. gsFlat provides flat, color-filled rectangles as the handles.

Currently this type is unused and the only style available is the flat style.


----------------------------------------------------------------------------------------------------
TJvTFGranChangingEvent

Unit
JvTFDays
TJvTFGranChangingEvent=procedure( Sender: TObject; var NewGran: Integer )of object;
Description
This event type is used for the TJvTFDays.OnGranularityChanging event. NewGran will hold the value that the Granularity property will be changed to.


----------------------------------------------------------------------------------------------------
TJvTFGVTextControl
Events
Unit
JvTFGlanceTextViewer
Description
This class is used internally by the GlanceTextViewer and is not documented.

----------------------------------------------------------------------------------------------------
TJvTFGVTxtEditor
Events
Unit
JvTFGlanceTextViewer
Description
This class is used internally by the GlanceTextViewer and is not documented.

----------------------------------------------------------------------------------------------------
TJvTFLineDDClickEvent
See also
Unit
JvTFGlanceTextViewer
TJvTFLineDDClickEvent=procedure( Sender: TObject; LineNum: Integer )of object;
Description
This event type is used by the GlanceTextViewer.OnLineDDClick event. LineNum contains the index of the line.

----------------------------------------------------------------------------------------------------
TJvTFLoadBatchEvent
See also
TJvTFLoadBatchEvent=procedure(Sender: TObject; BatchName: String; BatchStartDate, BatchEndDate: TDate) of object;
Description
This type is used for the TJvTFScheduleManager.OnLoadBatch event. BatchName will give you the schedule (resource) name and BatchStartDate and BatchEndDate will give the starting and ending dates of the schedule(s) to be loaded.

Note that BatchStartDate and BatchEndDate define a contiguous set of dates that must be loaded. Therefore, if BatchName is Mike, BatchStartDate is 1/1/2000, and BatchEndDate is 1/3/2000 you should load the following schedules:
Mike - 1/1/2000
Mike - 1/2/2000
Mike - 1/3/2000

Please see Batch Loading for more information.


----------------------------------------------------------------------------------------------------
TJvTFMonthsScrollSize

Unit
JvTFMonths
TJvTFMonthsScrollSize=( mssMonth, mssWeek);
Description
Value		Meaning
mssMonth	JvTFMonths will be scrolled one month at a time.
mssWeek	JvTFMonths will be scrolled one week at a time.

----------------------------------------------------------------------------------------------------
TJvTFPostApptQueryEvent

Unit
JvTFServer
TJvTFPostApptQueryEvent=procedure( Sender: TObject; Appt: TJvTFAppt; var CanPost: Boolean )of object;
Description
This event type is used for the TJvTFScheduleManager.OnPostApptQuery event. Appt is the appt that is about to be posted. By default, CanPost is set to True which allows the OnPostAppt event to fire. You can set CanPost to False to prevent the OnPostAppt event from being fired.


----------------------------------------------------------------------------------------------------
TJvTFPrinterMeasure

Unit
JvTFServer
TJvTFPrinterMeasure=( pmPixels, pmInches, pmMM);
Description
TJvTFPrinterMeasure specifies a unit of measure, pixels, inches, or milimeters.

----------------------------------------------------------------------------------------------------
TJvTFProgressEvent

Unit
JvTFServer
TJvTFProgressEvent=procedure( Sender: TObject; Current, Total: Integer )of object;
Description
This event type is used for events that fire to inform you that a process has incrementally progressed. Sender is the object that fired the event. Current is the current iteration of the process and Total is the total numbers of iterations the process is expected to complete.


----------------------------------------------------------------------------------------------------
TJvTFRowHdrType

Unit
JvTFDays
TJvTFRowHdrType=( rhGrid, rhFancy);
Description
Specifies the different types of row headers that may be used. rhGrid will give the control a grid look and rhFancy will give the control a snazzy appointment book look. I'm a poet and don't know it.


----------------------------------------------------------------------------------------------------
TJvTFSchedEvent

Unit
JvTFServer
TJvTFSchedEvent=procedure( Sender: TObject; Schedule: TJvTFSched )of object;
Description
The TJvTFSchedEvent type is used for schedule related events. Sender will be the object that fired the event, which is most likely to be a TJvTFScheduleManager. Schedule will contain the schedule object that is being affected.


----------------------------------------------------------------------------------------------------
TJvTFSchedLoadMode
See also
TJvTFSchedLoadMode=(slmOnDemand, slmBatch)Description
Specifies the different methods that TJvTFScheduleManager can use to load schedules. Please see TJvTFScheduleManager.SchedLoadMode and Batch Loading for more information.

----------------------------------------------------------------------------------------------------
TJvTFSelCellAttr

Unit
JvTFDays
Description
You use the TJvTFSelCellAttr object to se t the display attributes for the selected cell(s). Normally you will access this object through the TJvTFDays.SelCellAttr property.


----------------------------------------------------------------------------------------------------
TJvTFSelCellAttr.Create
TJvTFSelCellAttr
constructor Create(anApptGrid: TJvTFDays );
Description
Normally you will use this object through the TJvTFDays.SelCellAttr property. You should not have to create this object manually.


----------------------------------------------------------------------------------------------------
TJvTFSelCellAttr.Color
TJvTFSelCellAttr
property Color: TColor default clBlue;
Description
Use the color property to specify the color of the border and/or cell background of a selected cell.



----------------------------------------------------------------------------------------------------
TJvTFSelCellAttr.FrameWidth
TJvTFSelCellAttr
property FrameWidth: Integer default 2;
Description
Use the FrameWidth property to specify the width of the frame (or border) that surrounds the selected cell(s).



----------------------------------------------------------------------------------------------------
TJvTFSelCellAttr.Style
TJvTFSelCellAttr
property Style: TJvTFSelCellStyle default scsCombo;
Description
Set the Style property to one of three different styles:

scsSolid
Selected cell(s) will be filled (shaded).

scsFrame
Selected cell(s) will be bounded by a frame (border).

scsCombo
The first selected cell (anchor) will be bounded by a frame. All other selected cells will be shaded.


----------------------------------------------------------------------------------------------------

TJvTFSelCellStyle

Unit
JvTFDays
TJvTFSelCellStyle=( scsSolid, scsFrame, scsCombo);
Description
Specifies the different styles available for highlighting selected cells in the JvTFDays grid.

scsSolid
Selected cell(s) will be filled (shaded).

scsFrame
Selected cell(s) will be bounded by a frame (border).

scsCombo
The first selected cell (anchor) will be bounded by a frame. All other selected cells will be shaded.



----------------------------------------------------------------------------------------------------
TJvTFSelectApptEvent

Unit
JvTFDays
TJvTFSelectApptEvent=procedure( Sender: TObject; OldSel, NewSel: TJvTFAppt )of object;
Description
This event type is used for the TJvTFDays.OnSelectAppt event. OldSel will point to the old selected appointment. NewSel will point to the newly selected appointment. Either the OldSel or the NewSel parameters may be nil, which would imply that no appointment was (is going to be) selected.



----------------------------------------------------------------------------------------------------
TJvTFShadeCellEvent

Unit
JvTFDays
TJvTFShadeCellEvent=procedure( Sender: TObject; ColIndex, RowIndex: Integer; var CellColor: TColor )of object;
Description
This event type is used for the TJvTFDays.OnShadeCell event. ColIndex and RowIndex specify the column and the row of the cell being drawn. CellColor specifies what color will be used to shade the shade and can be changed by you.



----------------------------------------------------------------------------------------------------
TJvTFShowHintEvent

Unit
JvTFServer
TJvTFShowHintEvent=procedure( Sender: TObject; HintType: TJvTFHintType; Ref: TObject; var HintRect: TRect; var HintText: String )of object;
Description
The TJvTFShowHintEvent type is for appointment hint events. You can use these events to customize how the hint will be displayed.

Sender will be the object that fired the event and will most likely be the control over which the hint will appear.
HintType will tell you what type of hint is being displayed.
Ref may contain a reference to the object that is displaying the hint.
HintRect will contain the bounding rectangle of the hint window. You can change this if you need to.
HintText will contain the text that will be displayed. You can change this as well.

----------------------------------------------------------------------------------------------------
TJvTFAppt
See also
Unit
JvTFServer
Description
The TJvTFAppt object is used to store information about an appointment within the server. Normally the server completely maintains each appointment it contains, which includes creation, destruction, and indexing for contained TJvTFSched objects.

The TJvTFAppt object provides you with several properties that you can use define the appointment. There are also several methods you may use to manipulate the object.
----------------------------------------------------------------------------------------------------
TJvTFAppt.AddSchedule
TJvTFAppt	See also
procedure AddSchedule(SchedName: String );
Description
Use the AddSchedule method to add the appointment to the schedule specified in SchedName. An appointment can be added to multiple schedules, which is called "sharing".


----------------------------------------------------------------------------------------------------
TJvTFAppt.Assign
TJvTFAppt
procedure Assign(Source: TJvTFAppt );
Description
Use the Assign method to assign one appointment object to another.

----------------------------------------------------------------------------------------------------
TJvTFAppt.AssignSchedules
TJvTFAppt	See also
procedure AssignSchedules(List: TStrings );
Description
Use the AssignSchedules method to add the appointment to multiple schedules with one call. List should contain the names of all of the schedules that the appointment belongs to. AssignSchedules will overwrite the current Schedules list.


----------------------------------------------------------------------------------------------------
TJvTFAppt.BeginUpdate
TJvTFAppt	See also
procedure BeginUpdate;
Description
Calling this method before you change one or more of the appt's properties prevents the OnPostApptQuery/OnPostAppt events from being fired. This is handy if you need to change more than one property at a time. Be sure to call EndUpdate when you are done modifying the properties.

Note that you do not have to call BeginUpdate/EndUpdate when the appointment is being loaded or refreshed.



----------------------------------------------------------------------------------------------------
TJvTFAppt.ClearSchedules
TJvTFAppt	See also
procedure ClearSchedules;
Description
Call the ClearSchedules method to remove all of the schedules from the appointment.



----------------------------------------------------------------------------------------------------
TJvTFAppt.ConnectionCount
TJvTFAppt	See also
function ConnectionCount: Integer;
Description
Returns the number of TJvTFSched objects stored in the Connections list.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Create
TJvTFAppt	See also
constructor Create(Serv: TJvTFScheduleManager; ApptID: String );
Description
You should not have to directly create a TJvTFAppt object. This will be done for you by the server as a result of calling TJvTFScheduleManager.RequestAppt or TJvTFScheduleManager.dbNewAppt. If you do manually create an appointment object you must specify the server that will maintain the appointment object. If you do not specify an ApptID, the server will automatically generate one for you. If you do specify an ApptID, it is your responsibility to guarantee that the ID is unique.

The server generates the ID through TJvTFScheduleManager.GenerateApptID.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Delete
TJvTFAppt	See also
procedure Delete;
Description
This method will completely remove the appointment from the scheduling system. This method calls TJvTFScheduleManager.dbDeleteAppt, which eventually fires the TJvTFScheduleManager.OnDeleteAppt event. (You would implement a handler for the OnDeleteAppt event that would remove the appointment data from your physical data storage backend.)


----------------------------------------------------------------------------------------------------
TJvTFAppt.EndUpdate
TJvTFAppt	See also
procedure EndUpdate;
Description
Calling this method after a call to BeginUpdate signifies that you are done updating the appt. properties and TJvTFScheduleManager will fire the OnPostApptQuery/OnPostAppt events.


----------------------------------------------------------------------------------------------------
TJvTFAppt.IndexOfSchedule
TJvTFAppt	See also
function IndexOfSchedule(SchedName: String ): Integer;
Description
Returns the index of the name of a schedule stored in the Schedules list.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Modified
TJvTFAppt	See also
function Modified: Boolean;
Description
Returns True if the appointment information has changed since it was last posted, false otherwise.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Post
TJvTFAppt	See also
procedure Post;
Description
Use this method to save changes to the appointment's data to your physical data storage backend. This method calls TJvTFScheduleManager.dbPostAppt, which eventually fires the TJvTFScheduleManager.OnPostAppt event. (You would implement a handler for the OnPostAppt event that would change the physical data stored for the appointment.)


----------------------------------------------------------------------------------------------------
TJvTFAppt.Refresh
TJvTFAppt	See also
procedure Refresh;
Description
Call this method when you need to make the data in memory reflects the data on the disk. This method calls TJvTFScheduleManager.dbRefreshAppt, which eventually fires the TJvTFScheduleManager.OnRefreshAppt event. (You would implement a handler for the OnRefreshAppt event to "reload" the appointment data in memory from the data stored on disk.)


----------------------------------------------------------------------------------------------------
TJvTFAppt.RefreshControls
TJvTFAppt
procedure RefreshControls;
Description
Call this method to cause all controls that display the appointment to be redrawn to reflect recent changes. You should not have to call this method, as the server should refresh its controls as needed.



----------------------------------------------------------------------------------------------------
TJvTFAppt.RemoveSchedule
TJvTFAppt	See also
procedure RemoveSchedule(SchedName: String );
Description
Use the RemoveSchedule method to remove the schedule specified by SchedName from the appointment's Schedules list.



----------------------------------------------------------------------------------------------------
TJvTFAppt.ScheduleCount
TJvTFAppt	See also
function ScheduleCount: Integer;
Description
Returns the number of schedule names stored in the Schedules list.



----------------------------------------------------------------------------------------------------
TJvTFAppt.SetModified
TJvTFAppt	See also
procedure SetModified;
Description
Call SetModified to cause the Modified method to return True. This method will come in handy if you attach custom data to the appointment via the Data property. When your custom data changes, you can call SetModified to signal that the appointment's data has changed.



----------------------------------------------------------------------------------------------------
TJvTFAppt.SetStartEnd
TJvTFAppt	See also
procedure SetStartEnd(NewStartDate: TDate; NewStartTime: TTime; NewEndDate: TDate; NewEndTime: TTime );
Description
Use the SetStartEnd method to set the start and end information of the appointment. Valid parameters are as follows:
	1. NewStartDate must fall on or before NewEndDate
	2. If NewStartDate = NewEndDate then NewStartTime must be before NewEndTime
If either of these rules are broken, an EJvTFScheduleManagerError exception will be raised.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Shared
TJvTFAppt	See also
function Shared: Boolean;
Description
Returns True if the ScheduleCount > 1, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFAppt.AlarmAdvance
TJvTFAppt	See also
property AlarmAdvance: Integer;
Description
Set the AlarmAdvance property to indicate the number of minutes before the appointment is scheduled to start that the alarm should fire. Note that currently alarm functionality is not native to the JTF suite.

Example:
 Appointment starts at 10:00am.
 AlarmAdvance is set to 15.
 Alarm should fire at 9:45am.


----------------------------------------------------------------------------------------------------
TJvTFAppt.AlarmEnabled
TJvTFAppt	See also
property AlarmEnabled: Boolean;
Description
Set the AlarmEnabled property to True if an alarm should fire before the appointment is scheduled to begin. Note that currently alarm functionality is not included in the JTF suite.



----------------------------------------------------------------------------------------------------
TJvTFAppt.BarColor
TJvTFAppt	See also
property BarColor: TColor default clDefault;
Description
Use this property to specify the color of the bar for an individual appointment. The default value for this property is clDefault. If this property is set to clDefault, the JvTFDays control will use the color specified by the ApptBar.Color property when drawing the appointment bar. By setting this property to a value other than clDefault, you are in effect, overriding the ApptBar.Color property.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Color
TJvTFAppt	See also
property Color: TColor default clDefault;
Description
Use the color property of TJvTFAppt to set the background color of an appointment, specific to that appointment.

The default value for this property is clDefault. When this property is set to clDefault, the JvTFDays control will use the color specified in the ApptAttr.Color property. In short, by specifying any value other than clDefault for this property you are "overriding" the color specified in the ApptAttr.Color property for an individual appointment.

Use TJvTFDays.GetApptDispColor to easily determine the background color of an appointment drawn in the JvTFDays control.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Connections
TJvTFAppt	See also
property Connections [ Index: Integer ]: TJvTFSched;
Description
Returns a TJvTFSched object to which the appointment is connected.

Note that a "connection" signifies that the appointment belongs to a schedule that is currently loaded in the server and is represented by a TJvTFSched object. A "schedule" signifies that the appointment belongs to a schedule that may or may not currently reside in the server. A schedule is represented by a name and a date. See the Schedules property for more info.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Data
TJvTFAppt	See also
property Data: Integer;
Description
You can use the Data property to attach custom data to an appointment. Most likely you will define a TObject to hold the additional data and then typecast this property into a TObject, but it has been implemented as an Integer for added flexibility.

If you store additional data by using a TObject, you should use the TJvTFScheduleManager.OnCreateAppt and the TJvTFScheduleManager.OnDestroyAppt events to create and destroy your object.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Description
TJvTFAppt
property Description: String;
Description
The property specifies the description of the appointment.



----------------------------------------------------------------------------------------------------
TJvTFAppt.EndDate
TJvTFAppt	See also
property EndDate: TDate;
Description
Specifies the ending date of the appointment.

Note that this property is read-only. You should set the start and end info by using the SetStartEnd method.



----------------------------------------------------------------------------------------------------
TJvTFAppt.EndDateTime
TJvTFAppt	See also
property EndDateTime: TDateTime;
Description
Specifies the ending date and time of the appointment.

Note that this property is read-only. You should set the start and end info by using the SetStartEnd method.


----------------------------------------------------------------------------------------------------
TJvTFAppt.EndTime
TJvTFAppt	See also
property EndTime: TTime;
Description
Specifies the end time of the appointment.

Note that this property is read-only. You should set the start and end info by using the SetStartEnd method.



----------------------------------------------------------------------------------------------------
TJvTFAppt.ID
TJvTFAppt	See also
property ID: String;
Description
The ID property contains a string that uniquely identifies an appointment. The ID is set when the appointment object is initially created. If an ID is not provided by you (using the TJvTFScheduleManager.RequestAppt or TJvTFScheduleManager.dbNewAppt methods) the server will generate a unique ID for you.

If you do specify an ID, it is your responsibility to guarantee that it is unique among all appointments, whether or not they are currently loaded into the server.

The server automatically generates IDs using the TJvTFScheduleManager.GenerateApptID class function.


----------------------------------------------------------------------------------------------------
TJvTFAppt.ImageMap
TJvTFAppt	See also
property ImageMap: TJvTFCustomImageMap;
Description
Use this property to embed custom images into the appointment which are specific to the appointment. See TJvTFCustomImageMap for more info.

Note that the TJvTFCustomImageMap stored in this property refers to images stored in the TImageList specified in TJvTFScheduleManager.CustomImages.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Persistent
TJvTFAppt
property Persistent: Boolean;
Description
The caching mechanism will not flush the appointment from memory if Persistent is set to True.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Refreshed
TJvTFAppt	See also
property Refreshed: Boolean;
Description
This property specifies whether or not the appt object has been refreshed. Please see Refresh Reconciliation for more information.

Note: This property is ignored if TJvTFScheduleManager.RefreshAutoReconcile is set to False.

----------------------------------------------------------------------------------------------------
TJvTFAppt.Schedules
TJvTFAppt	See also
property Schedules [ Index: Integer ]: String;
Description
The Schedules property is a list of names for all of the schedules that contain this appointment. (The schedule date(s) are specified by StartDate and EndDate.)

Note that a "connection" signifies that the appointment belongs to a schedule that is currently loaded in the server and is represented by a TJvTFSched object. A "schedule" signifies that the appointment belongs to a schedule that may or may not currently reside in the server. A schedule is represented by a name and a date. See the Connections property for more info.



----------------------------------------------------------------------------------------------------
TJvTFAppt.Server
TJvTFAppt	See also
property Server: TJvTFScheduleManager;
Description
Points to the server where the appointment objects resides.



----------------------------------------------------------------------------------------------------
TJvTFAppt.StartDate
TJvTFAppt	See also
property StartDate: TDate;
Description
Specifies the starting date of the appointment.

Note that this property is read-only. You should set the start and end info by using the SetStartEnd method.



----------------------------------------------------------------------------------------------------
TJvTFAppt.StartDateTime
TJvTFAppt	See also
property StartDateTime: TDateTime;
Description
Specifies the starting date and time of the appointment.

Note that this property is read-only. You should set the start and end info by using the SetStartEnd method.


----------------------------------------------------------------------------------------------------
TJvTFAppt.StartTime
TJvTFAppt	See also
property StartTime: TTime;
Description
Specifies the starting time of the appointment.

Note that this property is read-only. You should set the start and end info by using the SetStartEnd method.


----------------------------------------------------------------------------------------------------
TJvTFAppt.Updating
TJvTFAppt	See also
property Updating: Boolean;
Description
This property will be True when an appointment is being loaded or refreshed, or between a BeginUpdate/EndUpdate pair.
----------------------------------------------------------------------------------------------------
TJvTFApptClass

TJvTFApptClass=class of TJvTFAppt;
Description
Specifies an exact class of TJvTFAppt.

----------------------------------------------------------------------------------------------------
TJvTFComponent
See also
Unit
JvTFServer
Description
TJvTFComponent is the mother of all JvTFComponents.

This class manages most of the communication that takes place between a JvTFComponent and its server.

You should never create an instance of TJvTFComponent, but rather derive a new component from the TJvTFComponent class and override methods as necessary.

All non-visual components that need to connect to the server should be derived from TJvTFComponent. Any visual control that needs to connect to the server should be derived from TJvTFControl.



----------------------------------------------------------------------------------------------------
TJvTFComponent.FindSchedule
TJvTFComponent	See also
function FindSchedule(SchedName: String; SchedDate: TDate ): TJvTFSched;
Description
This method will search for a schedule with SchedName on SchedDate in the component's Schedules list. If a match is not found FindSchedule will return nil.



----------------------------------------------------------------------------------------------------
TJvTFComponent.ProcessBatches
TJvTFComponent	See also
procedure ProcessBatches;
Description
This method simply calls TJvTFScheduleManager.ProcessBatches if the Server property is assigned and the server's SchedLoadMode property is set to slmBatch.

----------------------------------------------------------------------------------------------------
TJvTFComponent.ReleaseSchedule
TJvTFComponent	See also
procedure ReleaseSchedule(SchedName: String; SchedDate: TDate );
Description
Releases a schedule with SchedName on SchedDate. This signals the server that the schedule will no longer be needed by the component. This method is here strictly for convenience since it simply calls TJvTFScheduleManager.ReleaseSchedule.


----------------------------------------------------------------------------------------------------
TJvTFComponent.ReleaseSchedules
TJvTFComponent	See also
procedure ReleaseSchedules;
Description
Release all of the schedules found in the component's Schedules list with one call. The call is equivilent to:
 While ScheduleCount > 0 do
 ReleaseSchedule(Schedules[0].SchedName, Schedules[0].SchedDate);


----------------------------------------------------------------------------------------------------
TJvTFComponent.RetrieveSchedule
TJvTFComponent	See also
function RetrieveSchedule(SchedName: String; SchedDate: TDate ): TJvTFSched;
Description
This method will search for schedule with SchedName on SchedDate in the component's Schedules list. If a match is not found an EJvTFScheduleManagerError will be raised.


----------------------------------------------------------------------------------------------------
TJvTFComponent.ScheduleCount
TJvTFComponent	See also
function ScheduleCount: Integer;
Description
Returns the number of schedules in the component's Schedules list.



----------------------------------------------------------------------------------------------------
TJvTFComponent.DateFormat
TJvTFComponent	See also
property DateFormat: String;
Description
This property allows you to specify how dates should be displayed. This property is protected and may be surfaced as a public or published property in a derived component.


----------------------------------------------------------------------------------------------------
TJvTFComponent.Schedules
TJvTFComponent	See also
property Schedules [ Index: Integer ]: TJvTFSched;
Description
Allows you to access each of the schedule objects that are connected to the component.



----------------------------------------------------------------------------------------------------
TJvTFComponent.Server
TJvTFComponent	See also
property Server: TJvTFScheduleManager;

----------------------------------------------------------------------------------------------------
TJvTFComponent.TimeFormat
TJvTFComponent	See also
property TimeFormat: String;
Description
Use this property to specify how Time should be displayed. This property is protected and may be surface as a public or published property is derived components.
----------------------------------------------------------------------------------------------------
TJvTFControl
See Also
Unit
JvTFServer
Description
The TJvTFControl is the mother of all JTF controls.

This class manages most of the communication that takes place between a JTF control and its server.

You should never create an instance of TJvTFControl, but rather derive a new control from the TJvTFControl class and override methods as necessary.

All non-visual components that need to connect to the server should be derived from TJvTFComponent. Any visual control that needs to connect to the server should be derived from TJvTFControl.



----------------------------------------------------------------------------------------------------
TJvTFControl.OnNavigate
TJvTFControl	See also
property OnNavigate: TJvTFNavEvent;
Description
This event is fired when the control receives a navigation command from its Navigator.

----------------------------------------------------------------------------------------------------
TJvTFControl.FindSchedule
TJvTFControl	See also
function FindSchedule(SchedName: String; SchedDate: TDate ): TJvTFSched;
Description
This method will search for a schedule with SchedName on SchedDate in the control's Schedules list. If a match is not found FindSchedule will return nil.



----------------------------------------------------------------------------------------------------
TJvTFControl.ProcessBatches
TJvTFControl	See also
procedure ProcessBatches;
Description
This method simply calls TJvTFScheduleManager.ProcessBatches if the Server property is assigned and the server's SchedLoadMode property is set to slmBatch.

----------------------------------------------------------------------------------------------------
TJvTFControl.ReleaseSchedule
TJvTFControl	See also
procedure ReleaseSchedule(SchedName: String; SchedDate: TDate );
Description
Releases a schedule with SchedName on SchedDate. This signals the server that the schedule will no longer be needed by the control. This method is here strictly for convenience since it simply calls TJvTFScheduleManager.ReleaseSchedule.



----------------------------------------------------------------------------------------------------
TJvTFControl.ReleaseSchedules
TJvTFControl	See also
procedure ReleaseSchedules;
Description
Release all of the schedules found in the control's Schedules list with one call. The call is equivilent to:
 While ScheduleCount > 0 do
 ReleaseSchedule(Schedules[0].SchedName, Schedules[0].SchedDate);



----------------------------------------------------------------------------------------------------
TJvTFControl.RetrieveSchedule
TJvTFControl	See also
function RetrieveSchedule(SchedName: String; SchedDate: TDate ): TJvTFSched;
Description
This method will search for schedule with SchedName on SchedDate in the control's Schedules list. If a match is not found an EJvTFScheduleManagerError will be raised.



----------------------------------------------------------------------------------------------------
TJvTFControl.ScheduleCount
TJvTFControl	See also
function ScheduleCount: Integer;
Description
Returns the number of schedules in the control's Schedules list.



----------------------------------------------------------------------------------------------------
TJvTFControl.DateFormat
TJvTFControl
Description
The DateFormat property allows you to specify how dates should be displayed in the control. Internally JTF uses Delphi's FormatDateTime method along with the format strings specified here and in the TimeFormat property to display dates and times. Please refer to the FormatDateTime method for more information on the content of the format string.

This is a protected property which can be surfaced by controls derived from TJvTFControl. It may not be available to all TJvTFControls.


----------------------------------------------------------------------------------------------------
TJvTFControl.DragInfo
TJvTFControl	See also
property DragInfo: TJvTFDragInfo;
Description
The DragInfo property will contain information about the current drag operation. This property is used by the internal drag/drop routines and facilitates moving appointments between different JvTFControls. Please see TJvTFDragInfo for more information.


----------------------------------------------------------------------------------------------------
TJvTFControl.Navigator
TJvTFControl	See also
property Navigator: TJvTFNavigator;
Description
Set this property to a TJvTFNavigator component to synchronize the navigation of the control with other JvTFControls that are connected to the navigator.

----------------------------------------------------------------------------------------------------
TJvTFControl.Schedules
TJvTFControl	See also
property Schedules [ Index: Integer ]: TJvTFSched;
Description
The Schedules property is a list of all schedules that are being used (have been requested and not yet released) by the control.



----------------------------------------------------------------------------------------------------
TJvTFControl.Server
TJvTFControl	See also
property Server: TJvTFScheduleManager;
Description
Points to the server that the control is connected to.



----------------------------------------------------------------------------------------------------
TJvTFControl.TimeFormat
TJvTFControl	See also
Description
The TimeFormat property allows you to specify how times should be displayed in the control. Internally JTF uses Delphi's FormatDateTime method along with the format strings specified here and in the DateFormat property to display dates and times. Please refer to the FormatDateTime method for more information on the content of the format string.

In TJvTFDays this property will be ignored if TJvTFDays.RowHdrType is set to rhFancy.

This is a protected property which can be surfaced by controls derived from TJvTFControl. It may not be available to all TJvTFControls.
----------------------------------------------------------------------------------------------------
TJvTFControlEvent

Unit
JvTFServer
TJvTFControlEvent=procedure( Sender: TObject; aControl: TJvTFControl )of object;
Description
Not currently used.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance
Events
Unit
JvTFGlance
Description
TJvTFCustomGlance is the base class for all Glance controls.
On the most fundamental level, TJvTFCustomGlance allows you to specify a row count and a col count. It then creates one cell object (stored in a TCollection) for each cell. The cell object allows you to specify a date. Using this approach, one can configure a Glance control to a display wide variety of different dates. A week view, a month view, a month of Mon., Tues., Thurs. only, etc, etc.




----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.OnDrawCell
TJvTFCustomGlance	See also
property OnDrawCell: TJvTFGlanceDrawCellEvent;
Description
This event fires immediately after a cell has been rendered, but before it is committed to the control's canvas. You can use this event to do any custom drawing.

JTF buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.OnDrawTitle
TJvTFCustomGlance	See also
property OnDrawTitle: TJvTFGlanceDrawTitleEvent;
Description
This event is fired immediately after the main title is rendered, but before it is committed to the control's canvas. Use this event for custom drawing of the title.

JTF buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.OnDropAppt
TJvTFCustomGlance	See also
property OnDropAppt: TJvTFGlanceDropApptEvent;
Description
This event is fired after an appt has been dropped on the control, but before any action is taken on the appt object (such as changing the start/end info). You can use this event to change the start/end info or prevent the appt from being dropped.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.OnSelChanged
TJvTFCustomGlance
property OnSelChanged: TNotifyEvent;
Description
This event is fired after a change occurs in the selected dates/cells of the control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.OnUpdateCellTitleText
TJvTFCustomGlance	See also
property OnUpdateCellTitleText: TJvTFUpdateCellTitleTextEvent;
Description
This event is fired after the control automatically udpates a cell's title text. It allows you to 'override' the default title by changing the NewText parameter.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.BeginSelUpdate
TJvTFCustomGlance	See also
procedure BeginSelUpdate;
Description
Call BeginSelUpdate when you need to dynamically select multiple dates/cells. Don't forget to call EndSelUpdate when finished. Although not necessary , calling BeginSelUpdate and EndSelUpdate will increase the efficiency of dynamically selecting multiple dates.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CalcCellBodyRect
TJvTFCustomGlance	See also
function CalcCellBodyRect(aCell: TJvTFGlanceCell; Selected, Full: Boolean ): TRect;
Description
This function will return the rect of the cell specified in aCell. Since it is possible the body rect could be different depending on whether the cell is selected or not, you must tell the function what case to calculate via the Selected parameter. If Full is set to True the rect will include the area consumed by the cell's frame. If Full is False the area consumed by the frame will be excluded.

If aCell is nil an empty rectangle will be returned.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CalcCellTitleRect
TJvTFCustomGlance	See also
function CalcCellTitleRect(aCell: TJvTFGlanceCell; Selected, Full: Boolean ): TRect;
Description
This function will return the rect of the title of the cell specified in aCell. Since it is possible the title rect could be different depending on whether the cell is selected or not, you must tell the function what case to calculate via the Selected parameter. If Full is set to True the rect will include the area consumed by the title's frame. If Full is False the area consumed by the frame will be excluded.

If aCell is nil an empty rectangle will be returned.


----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CellBodyRect
TJvTFCustomGlance	See also
function CellBodyRect(aCell: TJvTFGlanceCell ): TRect;
Description
This function will return a rect for the given the current state (selected or not selected) of aCell. The rect returned will include the area consumed by the cell's frame.

If aCell is nil an empty rect will be returned.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CellIsSelected
TJvTFCustomGlance	See also
function CellIsSelected(aCell: TJvTFGlanceCell ): Boolean;
Description
Returns True if the cell given by aCell is selected, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CellRect
TJvTFCustomGlance	See also
function CellRect(aCell: TJvTFGlanceCell ): TRect;
Description
Returns the full rect of the cell specified by aCell. Returns an empty rect if aCell is nil.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CellTitleRect
TJvTFCustomGlance	See also
function CellTitleRect(aCell: TJvTFGlanceCell ): TRect;
Description
Returns the title rect of the cell given by aCell based upon the current state (selected or not selected) of aCell. Resulting rect includes the area consumed by the title's frame.

TJvTFCustomGlance.CheckViewerApptHint
TJvTFCustomGlance
procedure CheckViewerApptHint(X, Y: Integer );
Description
Internal Use Only. This method is used by the JTF hint system to display appt hints.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CombineCell
TJvTFCustomGlance	See also
procedure CombineCell(aCell: TJvTFGlanceCell );
Description
This method will combine a cell that has been split. This method takes no action if aCell has not been spit.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.DateIsSelected
TJvTFCustomGlance	See also
function DateIsSelected(aDate: TDate ): Boolean;
Description
Returns True if the date given by aDate is selected, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.DeselectCell
TJvTFCustomGlance	See also
procedure DeselectCell(aCell: TJvTFGlanceCell );
Description
Deselects the cell given by aCell.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.EndSelUpdate
TJvTFCustomGlance	See also
procedure EndSelUpdate;
Description
Call EndSelUpdate after you have finished dynamically selecting multiple dates/cells. Although not necessary, calling BeginSelUpdate and EndSelUpdate will increase the efficiency of dynamically selecting multiple dates.


----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.GetCellAttr
TJvTFCustomGlance	See also
function GetCellAttr(aCell: TJvTFGlanceCell ): TJvTFGlanceCellAttr;
Description
This function will return an attributes object for the cell given by aCell based upon the current state (selected or unselected) of aCell. If the cell is selected it will return the attribs specify by the SelCellAttr property. If the cell is not selected it will return the attribs specified by the CellAttr property.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.GetDataHeight
TJvTFCustomGlance	See also
function GetDataHeight: Integer;
Description
This function will return the height, in pixels, of the data area of the control. The data area excludes the main title.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.GetDataLeft
TJvTFCustomGlance	See also
function GetDataLeft: Integer;
Description
This function returns the X value of the left edge of the data area, which may or may not be 0 (zero).

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.GetDataTop
TJvTFCustomGlance	See also
function GetDataTop: Integer;
Description
This function returns the Y value of the top edge of the data area, which may or may not be 0 (zero).

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.GetDataWidth
TJvTFCustomGlance	See also
function GetDataWidth: Integer;
Description
This function returns the width of the data area of the control. The data area does not include the main title.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.PtToCell
TJvTFCustomGlance	See also
function PtToCell(X, Y: Integer ): TJvTFGlanceCoord;
Description
This function will calculate various information about the point given by (X, Y). See TJvTFGlanceCoord for more info.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.ReconfigCells
TJvTFCustomGlance	See also
procedure ReconfigCells;
Description
This method simply calls Cells.ReconfigCells. See Cells.ReconfigCells for more info.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.ReleaseSchedule
TJvTFCustomGlance	See also
procedure ReleaseSchedule(SchedName: String; SchedDate: TDate );
Description
Internal Use Only. DO NOT CALL THIS METHOD!

Calling this method will release the TJvTFSched object, specified by SchedName and SchedDate, from use in the control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.SafeReleaseSchedule
TJvTFCustomGlance	See also
procedure SafeReleaseSchedule(aSched: TJvTFSched );
Description
Internal Use Only. DO NOT CALL THIS METHOD!

SafeReleaseSchedule will release a schedule object from use by the control only if the schedule object is not used by any of the control's cells.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.SelectCell
TJvTFCustomGlance	See also
procedure SelectCell(aCell: TJvTFGlanceCell; Clear: Boolean =True );
Description
This method causes the cell given by aCell to be selected. If Clear is True, all other cells will be deselected. If Clear is False, aCell will be added to the list of currently selected cells.

Note: In Delphi 4+ Clear is default to True.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.SplitCell
TJvTFCustomGlance	See also
procedure SplitCell(aCell: TJvTFGlanceCell );
Description
This method splits the cell found at (Col, Row) into two seperate cells. A cell may only be split under certain circumstances and a cell may only be split once.


----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.SplitRects
TJvTFCustomGlance	See also
procedure SplitRects(Col, Row: Integer; var ParentRect, SubRect: TRect );
Description
This method will calculate the bounding rects of the parent cell and subcell of the cell found at (Col, Row). If the cell found at (Col, Row) is not split, ParentRect will be set to bound the entire cell and SubRect will be an empty rect.

Normally you will not need this method and instead you will use one of the other cell rect methods.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.TitleRect
TJvTFCustomGlance
function TitleRect: TRect;
Description
This function will return the bounding rectangle of the main title of the control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.WholeCellRect
TJvTFCustomGlance	See also
function WholeCellRect(Col, Row: Integer ): TRect;
Description
This method will return the entire bounding rectangle of the cell found at (Col, Row). If the cell is split, the resultant rect bounds both the parent cell and subcell.

Normally you will not use this method, but instead use one of the other cell rect methods.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.BorderStyle
TJvTFCustomGlance
property BorderStyle: TBorderStyle default bsSingle;
Description
Specifies the style of the border of the control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CellAttr
TJvTFCustomGlance	See also
property CellAttr: TJvTFGlanceCellAttr;
Description
You can use this property to customize the appearance of non-selected cells in the control. See TJvTFGlanceCellAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.CellPics
TJvTFCustomGlance	See also
property CellPics: TImageList;
Description
Set this property to point to a TImageList that contains the various images that may be displayed in a cell. Use the TJvTFGlanceCell.CellPics property (via the Cells property) to assign one or more images to a specific cell.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.Cells
TJvTFCustomGlance
property Cells: TJvTFGlanceCells;
Description
This is a collection property that holds the cell objects for the control. Even though this property is published, it is not available at design time.

To ensure that there will always be a cooresponding cell object for each cell defined in the control you cannot add or remove the cell objects. A Glance control internally maintains the cell objects according to the ColCount and RowCount properties. Note that the ColCount and RowCount properties may or may not be available in a particular Glance control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.ColCount
TJvTFCustomGlance	See also
property ColCount: Integer;
Description
Determines the number of columns in the control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.OriginDate
TJvTFCustomGlance
property OriginDate: TDate;
Description
Determines the date of the origin cell (0, 0).

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.RowCount
TJvTFCustomGlance	See also
property RowCount: Integer;
Description
Determines the number of rows in the control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.SchedNames
TJvTFCustomGlance
property SchedNames: TStrings;
Description
Use this property to specify which SchedNames (resources) will be shown in the control. Note that SchedNames are assignable only to the entire control and not a specific cell within the control.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.Sel
TJvTFCustomGlance	See also
property Sel: TJvTFGlanceSelList;
Description
You can use this property to set/retrieve selected dates. Use the TGlanceCellList.Add and TJvTFGlanceSelList.Delete methods to add/remove cells. See TJvTFGlanceSelList for other properties and methods.

Use BeginSelUpdate and EndSelUpdate if you are selected multiple dates/cells.

Alternatively, you can the SelectCell and DeselectCell to select/deselect specific cells. You can also use the CellIsSelected and DateIsSelected to determine if a particular cell or date is selected.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.SelCellAttr
TJvTFCustomGlance	See also
property SelCellAttr: TJvTFGlanceCellAttr;
Description
You can use this property to customize the appearance of selected cells in the control. See TJvTFGlanceCellAttr for more info.


----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.HintProps
TJvTFCustomGlance	See also
property HintProps: TJvTFHintProps;
Description
Use this property to customize some of the behavior and appearance of the JTF hint window. See TJvTFHintProps for more info.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.TitleAttr
TJvTFCustomGlance	See also
property TitleAttr: TJvTFGlanceMainTitle;
Description
Use this property to customize the appearance of the main title of the control. See TJvTFGlanceMainTitle for more info.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.UpdatingSel
TJvTFCustomGlance	See also
property UpdatingSel: Boolean;
Description
This property will be true if the control is in the process of updating it selected dates/cells, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFCustomGlance.Viewer
TJvTFCustomGlance	See also
property Viewer: TJvTFGlanceViewer;
Description
Set this property to a Glance viewer component. A Glance viewer controls the appearance of the appointments in the body of every cell.

The only viewer available at this time is TJvTFGlanceTextViewer, which display appts textually and allows in-place editing. The TJvTFGlanceTextViewer can be found on the JTF component palette. Drop a GlanceTextViewer onto a form and connect it to a Glance control via this property. Important Note: Each Glance control must have its own viewer. Viewers cannot be shared.
----------------------------------------------------------------------------------------------------
TJvTFDays
See Also
Unit
JvTFDays
Description
The TJvTFDays component displays appointments by the day. It has group scheduling features and appointments can be viewed at different levels of detail. This component has many properties, methods, and events that will allow you to configure and display the grid however you would like.

TJvTFDays is derived from TJvTFControl and integrates seamlessly with a TJvTFScheduleManager.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnBeginEdit
TJvTFDays	See also
property OnBeginEdit: TJvTFBeginEditEvent;
Description
This event is fired immediately before an appointment is about to be edited with the in-place editor. You can set the AllowEdit parameter to False to prevent the appointment from being edited.

----------------------------------------------------------------------------------------------------
TJvTFDays.OnCreateQuickEntry
TJvTFDays
property OnCreateQuickEntry: TJvTFCreateQuickEntryEvent;
Description
This event gives you control over the QuickEntry process. It is fired immediately before an appointment object is created during the QuickEntry process. If you use custom appointment IDs you can specify your own ID in the ApptID parameter. You can also change the default date and time information using the date and time parameters. Set the Confirm parameter to False if you need to prevent an appointment from being created.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDateChanged
TJvTFDays
property OnDateChanged: TNotifyEvent;
Description
This event works in conjunction with the linear and comparative templates and fires after the LinearStartDate or CompDate properties have changed (depending the the ActiveTemplate). This event may fire as result of directly modifiying the LinearStartDate or CompDate properties, or as a result of calling any of the date navigation methods. (You indirectly modify the LinearStartDate or CompDate properties by using any of the date navigation methods.

However, this event will not fire if the Template.ActiveTemplate property is set to agtNone .


----------------------------------------------------------------------------------------------------
TJvTFDays.OnDateChanging
TJvTFDays
property OnDateChanging: TJvTFDateChangingEvent;
Description
This event works in conjunction with the linear and comparative templates and fires before the LinearStartDate or CompDate properties have changed (depending the the ActiveTemplate). This event may fire as result of directly modifiying the LinearStartDate or CompDate properties, or as a result of calling any of the date navigation methods. (You indirectly modify the LinearStartDate or CompDate properties by using any of the date navigation methods.

However, this event will not fire if the Template.ActiveTemplate property is set to agtNone .


----------------------------------------------------------------------------------------------------
TJvTFDays.OnDeleteAppt
TJvTFDays	See also
property OnDeleteAppt: TNotifyEvent;
Description
This event will fire when the end user presses the <Delete> key. You should create an event handler that will remove the appointment from the system.

The <Delete> key is one of the key assignments that the grid natively handles. See JvTFDays Keyboard Assignments for others.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnDeleteSchedule
TJvTFDays	See also
property OnDeleteSchedule: TNotifyEvent;
Description
This event will fire when the end user presses the <Shift> + <Delete> key combination. You should create an event handler that will remove a column from the grid.

The <Shift> + <Delete> key combination is one of the key assignments that the grid natively handles. See JvTFDays Keyboard Assignments for others.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawAppt
TJvTFDays
property OnDrawAppt: TJvTFDrawApptEvent;
Description
The OnDrawAppt event will fire after the grid has drawn the appointment, but before the drawing is committed to the control's canvas. You can implement a handler for this event to manually draw the appointment in any way you see fit. The drawing of an appointment is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawApptEvent for detailed descriptions of the above parameters.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawApptBar
TJvTFDays
property OnDrawApptBar: TJvTFDrawApptBarEvent;
Description
This is event is fired immediately after the control has finished drawing the appoinment bar. You can use this event to provide custom drawing of the appointment bar. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

Appt will reference the appointment whose bar is currently being drawn. Col contains the index of the column where the appointment is being drawn. BarRect is the bounding rectangle for the appointment bar. TimeStampRect is a rectangle within BarRect that is representative of the actual start and length of the appointment. The left and right sides of TimeStampRect will always be equal to the left and right sides of the BarRect.

See TJvTFDrawApptBarEvent for more details.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawColHdr
TJvTFDays
property OnDrawColHdr: TJvTFDrawHdrEvent;
Description
The OnDrawColHdr event will fire after the grid has drawn the column header, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the header in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawHdrEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawCorner
TJvTFDays
property OnDrawCorner: TJvTFDrawCornerEvent;
Description
The OnDrawCorner event will fire after the grid has drawn one of the corners of the grid, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the grid corner in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawCornerEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawDataCell
TJvTFDays
property OnDrawDataCell: TJvTFDrawDataCellEvent;
Description
The OnDrawDataCell event will fire after the grid has drawn one of the data cells of the grid, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the cell in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawDataCellEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawGrabHandle
TJvTFDays
property OnDrawGrabHandle: TJvTFDrawGrabHandleEvent;
Description
The OnDrawGrabHandleEvent is fired immediately after the days control has drawn a grab handle. You can use this event to provide custom drawing of the grab handles. See TJvTFDrawGrabHandleEvent for more info.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawGroupHdr
TJvTFDays
property OnDrawGroupHdr: TJvTFDrawHdrEvent;
Description
The OnDrawGroupHdrEvent fires immediately after a group header has been drawn. It allows you to provide custom drawing for the group headers. See TJvTFDrawHdrEvent for detail descriptions of the parameters.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawMajorRowHdr
TJvTFDays	See also
property OnDrawMajorRowHdr: TJvTFDrawHdrEvent;
Description
This event is fired immediately after the control has finished drawing the major row header. You can use this event to provide custom drawing of the major row headers. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

Index will always be set to the last row of the hour.

See TJvTFDrawHdrEvent for more details.

This event is only fired when the RowHdrType property is set to rhFancy .



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawMinorRowHdr
TJvTFDays	See also
property OnDrawMinorRowHdr: TJvTFDrawHdrEvent;
Description
This event is fired immediately after the control has finished drawing the minor row header. You can use this event to provide custom drawing of the minor row headers. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawHdrEvent for more details.

This event is only fired when the RowHdrType property is set to rhFancy .



----------------------------------------------------------------------------------------------------
TJvTFDays.OnDrawRowHdr
TJvTFDays	See also
property OnDrawRowHdr: TJvTFDrawHdrEvent;
Description
The OnDrawRowHdr event will fire after the grid has drawn the row header, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the header in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

This event is not fired unless the RowHdrType property is set to rhGrid .

See TJvTFDrawHdrEvent for detailed descriptions of the above parameters.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnDropAppt
TJvTFDays	See also
property OnDropAppt: TJvTFDropApptEvent;
Description
This event will fire after an appointment has been dropped with the mouse, but before it is actually moved. You can set Confirm to False to stop the appointment from being moved.

This event only applies to appointments that are being moved (grabbed at the top) and not to appointments that are being sized (grabbed at the bottom). Use the OnSizeAppt event for appointments that have been sized.

See TJvTFDropApptEvent for a detailed description of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnFailEditor
TJvTFDays	See also
property OnFailEditor: TJvTFFailEditorEvent;
Description
This event will fire when the grid attempts to display the in-place editor, but fails because there is not enough room inside of the appointment. (The amount of room necessary for the editor to show is determined by the Thresholds.EditHeight and Thresholds.EditWidth properties.)

You can use this event to display the editor in a position and size of your choosing.

See TJvTFFailEditorEvent for detailed descriptions of the above parameters.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnFocusedColChanged
TJvTFDays
property OnFocusedColChanged: TNotifyEvent;
Description
This event is fired when the focus moves from one column to another. It is also fired when the focus is shifted from or to another control.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnFocusedRowChanged
TJvTFDays
property OnFocusedRowChanged: TNotifyEvent;
Description
This event is fired when the focus is changed from one row to another. It is also fired when the focus is shifted from or to another control.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnGetApptDrawInfo
TJvTFDays	See also
property OnGetApptDrawInfo: TJvTFGetDaysApptDrawInfoEvent;
Description
This event is fired immediately before each appointment is drawn. You can use the object in the DrawInfo parameter to customize the appearance of the appointment. See TJvTFDaysApptDrawInfo for more information.

----------------------------------------------------------------------------------------------------
TJvTFDays.OnGranularityChanged
TJvTFDays	See also
property OnGranularityChanged: TNotifyEvent;
Description
This event will fire after the Granularity property has been changed.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnGranularityChanging
TJvTFDays	See also
property OnGranularityChanging: TJvTFGranChangingEvent;
Description
This event will fire immediately before the Granularity property is changed. You may override the change by specifying a different value in the NewGran parameter.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnInsertAppt
TJvTFDays	See also
property OnInsertAppt: TNotifyEvent;
Description
This event will fire when the end user presses the <Insert> key. You should create an event handler that will allow the user to add a new appointment to the system.

The <Insert> key is one of the key assignments that the grid natively handles. See JvTFDays Keyboard Assignments for others.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnInsertSchedule
TJvTFDays	See also
property OnInsertSchedule: TNotifyEvent;
Description
This event will fire when the end user presses the <Shift> + <Insert> key combination. You should create an event handler that will allow the user to add a column to the grid.

The <Shift> + <Insert> key combination is one of the key assignments that the grid natively handles. See JvTFDays Keyboard Assignments for others.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnMoveCol
TJvTFDays
property OnMoveCol: TJvTFDragRowColEvent;
Description
This event will fire when a column has been moved with the mouse. Index will be set to the column that is being moved. NewInfo will be set to the new position of the column. You can abort the move by setting Confirm to False.

See TJvTFDragRowColEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnQuickEntry
TJvTFDays	See also
property OnQuickEntry: TNotifyEvent;
Description
This event will fire immediately after an appointment has been created using the quick entry feature. The newly created appointment will be selected and pointed to by the SelAppt property.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSelectAppt
TJvTFDays
property OnSelectAppt: TJvTFSelectApptEvent;
Description
This event will fire after an appointment has been selected (or deselected as the case may be). The OldSel parameter will point to the previously selected appointment. The NewSel parameter will point to the newly selected appointment. One or both of the parameters may be nil which would indicate the no appointment was (is) selected.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSelectedAppt
TJvTFDays	See also
property OnSelectedAppt: TNotifyEvent;
Description
This event fires after the selected appointment has changed.

This event fires even if no appointment is selected, SelAppt = nil.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSelectingAppt
TJvTFDays
property OnSelectingAppt: TJvTFVarApptEvent;
Description
This event fires immediately before the appointment selection is about to change. The Appt parameter is variable so you can override the change if necessary.

The Appt parameter may be nil which indicates that the no appointment is going to be selected.


----------------------------------------------------------------------------------------------------
TJvTFDays.OnShadeCell
TJvTFDays
property OnShadeCell: TJvTFShadeCellEvent;
Description
This event fires immediately before a cell is shaded. Use this event to chage the color of the cell. See TJvTFShadeCellEvent for more info.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnShowHint
TJvTFDays
property OnShowHint: TJvTFShowHintEvent;
Description
This event will fire immediately before a JTF hint will appear on the screen. You can use this event to customize the position, size, and text of the hint.

See TJvTFShowHintEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSizeAppt
TJvTFDays
property OnSizeAppt: TJvTFSizeApptEvent;
Description
This event will fire when an appointment has been sized with the mouse. You can change ending information or abort the sizing process if you wish.

See TJvTFSizeApptEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSizeCol
TJvTFDays
property OnSizeCol: TJvTFDragRowColEvent;
Description
This event will fire when the user has sized a column with the mouse. Index will be set to the index of the column that is being sized. NewInfo will contain the new width of the column. You can abort the operation by setting Confirm to False.

See TJvTFDragRowColEvent for detailed information on the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSizeColHdr
TJvTFDays
property OnSizeColHdr: TJvTFDragRowColEvent;
Description
This event will fire when the column headers (height) have been sized with the mouse. Index will always be -1 in this case. NewInfo will contain the new height of the column headers. You can abort the operation by setting Confirm to False.

See TJvTFDragRowColEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSizeRow
TJvTFDays
property OnSizeRow: TJvTFDragRowColEvent;
Description
This event will fire when the height of the rows has been changed with the mouse. Index will contain the index of the row being sized, but is useless since all row are set to the same height. NewInfo will contain the new height for the rows. You can abort the operation by setting Confirm to False.

See TJvTFDragRowColEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnSizeRowHdr
TJvTFDays
property OnSizeRowHdr: TJvTFDragRowColEvent;
Description
This event will fire when the width of the row headers has been changed with the mouse. Index will always be -1 in this case. NewInfo will contain the new width of the row headers. You can abort the operation by setting Confirm to False.

See TJvTFDragRowColEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDays.OnUpdateColTitles
TJvTFDays
property OnUpdateColTitles: TJvTFUpdateTitlesEvent;
Description
This event will fire when the grid is updating a column title and/or column group title due to some change to the column. Col will point to the column that is being changed. NewGroupTitle and NewTitle will contain default title s , but can be changed by you.



----------------------------------------------------------------------------------------------------
TJvTFDays.AdjustEndTime
TJvTFDays	See also
Function AdjustEndTime(aTime: TTime ): TTime;
Description
This method is primarily for internal use but you may find it handy from time to time. The only thing it does is subtract one second from the time given. This is used internally to temporarily adjust the ending time of appointments so that they do not fall exactly on the beginning of one of the time blocks that is displaying in the grid.

Example:
Granularity = 60
Appt end time = 11:00am

Without adjusting the end time, the grid would display the appointment in the 11:00 time block (i.e. 11:00am - 12:00pm). This is clearly incorrect and misleading. By subtracting one second from the end time of the appointment (so that it ends at 10:59:59), the grid will correctly draw the appointment as ending in the 10:00am time block.

You need to be careful when working with appointment end times. To ensure the integrity of your data, the grid does not actually change the EndTime property of an appointment by applying AdjustEndTime. An example is if you would write something like:
MyEndRow := TimeToRow(anAppt.EndTime);
This may return an incorrect result as shown above. However, if you write:
MyEndRow := TimeToRow(AdjustEndTime(anAppt.EndTime));
you can be assured that MyEndRow will accurately reflect what the grid is displaying.

In fact, if you do need to find the start and/or end rows for an appointment you should use the CalcStartEndRows method as that method applies AdjustEndTime.



----------------------------------------------------------------------------------------------------
TJvTFDays.ApptInView
TJvTFDays	See also
procedure ApptInView(anAppt: TJvTFAppt; aCol: Integer );
Description
Calling this method ensures that the appointment specified by anAppt is at least partially visible. Since an appointment may be found in more then one column you must also specify the column (aCol).



----------------------------------------------------------------------------------------------------
TJvTFDays.BottomRow
TJvTFDays	See also
function BottomRow: Integer;
Description
This method will return the index of the row that appears at the bottom of the visible area of the grid. (This row is not guaranteed to be fully visible.)



----------------------------------------------------------------------------------------------------
TJvTFDays.CalcGroupColHdrsHeight
TJvTFDays	See also
function CalcGroupColHdrsHeight: Integer;
Description
This method returns the calculated sum of the heights of the group header and column header, which may or may not be equal to the sum of the GroupHdrHeight and ColHdrHeight properties. If Grouping <> grNone, CalcGroupHdrHeight will return the sum of the GroupHdrHeight and ColHdrHeight properties. If Grouping = grNone, CalcGroupHdrHeight will return the value of the ColHdrHeight property.

Examples:
GroupHdrHeight = 25
ColHdrHeight = 30
Grouping = grName
CalcGroupColHdrsHeight ==> 55

GroupHdrHeight = 25
ColHdrHeight = 30
Grouping = grNone
CalcGroupHdrHeight ==> 30


----------------------------------------------------------------------------------------------------
TJvTFDays.CalcGroupHdrHeight
TJvTFDays	See also
function CalcGroupHdrHeight: Integer;
Description
This method returns the calculated height of the group header, which may or may not be equal to the GroupHdrHeight property. If Grouping <> grNone, CalcGroupHdrHeight will return the value of the GroupHdrHeight property. If Grouping = grNone, CalcGroupHdrHeight will return 0.

Examples:
GroupHdrHeight = 25
Grouping = grName
CalcGroupHdrHeight ==> 25

GroupHdrHeight = 25
Grouping = grNone
CalcGroupHdrHeight ==> 0


----------------------------------------------------------------------------------------------------
TJvTFDays.CalcStartEndRows
TJvTFDays	See also
procedure CalcStartEndRows(anAppt: TJvTFAppt; SchedDate: TDate; var StartRow, EndRow: Integer );
Description
This method will caculate the start and end rows for the given appointment on the given date. If the appointment begins on an earlier date, StartRow will be set to zero. If the appointment ends on a later date, EndRow will be set to RowCount - 1.

Since this method applies the AdjustEndTime method, you should always use this method if you need to find the start and/or end rows for an appointment. See AdjustEndTime for more information.



----------------------------------------------------------------------------------------------------
TJvTFDays.CanEdit
TJvTFDays
function CanEdit: Boolean;
Description
CanEdit will return True if grid conditions permit the in-place editing of appointment text.



----------------------------------------------------------------------------------------------------
TJvTFDays.CellIsSelected
TJvTFDays	See also
function CellIsSelected(aCell: TPoint ): Boolean;
Description
Use this method to determine if a given cell is selected.



----------------------------------------------------------------------------------------------------
TJvTFDays.CellRect
TJvTFDays	See also
Function CellRect(Col, Row: Integer ): TRect;
Description
This method will return the bounding rectangle for the cell located at (Col, Row). The coordinates returned are relative to the control. Col and Row may be set -1 (gcHdr) to retrieve header information or to -2 (gcGroupHdr) to retrieve group header information . Any cells that do not fully appear in the grid are clipped so that all points within the resultant rectangle fall within the visible area of the grid.

Use VirtualCellRect to return a rectangle that is not clipped by the visible area of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.ClearSelection
TJvTFDays	See also
procedure ClearSelection;
Description
This method clears the current selection. After this method is invoked SelStart and SelEnd will be set to (-1, -1) and ValidSelection will return False.


----------------------------------------------------------------------------------------------------
TJvTFDays.ColInView
TJvTFDays	See also
procedure ColInView(aCol: Integer );
Description
Use the ColInView method to scroll a column into view. The column is not guaranteed to be fully visible.



----------------------------------------------------------------------------------------------------
TJvTFDays.ColIsSelected
TJvTFDays	See also
function ColIsSelected(aCol: Integer ): Boolean;
Description
Use this method to determine if a given column is selected. ( aCol specifies the index of the column in question.)



----------------------------------------------------------------------------------------------------
TJvTFDays.EditAppt
TJvTFDays	See also
procedure EditAppt(Col: Integer; Appt: TJvTFAppt );
Description
Use this method to display the in-place editor for the given appointment in the given column.



----------------------------------------------------------------------------------------------------
TJvTFDays.Editing
TJvTFDays	See also
function Editing: Boolean;
Description
This method will return True if the in-place editor is visible in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.EnumSelCells
TJvTFDays	See also
function EnumSelCells: TDynPointArray;
Description
This function will return an array of all the currently selected cells.

Example:
procedure MyProc;
var
 SelCells : TDynPointArray;
 I : Integer;
begin
 SelCells := EnumSelCells;
 For I := 0 to High(SelCells) do
 ShowMessage('Cell (' + IntToStr(SelCells[I].X) + ', ' + IntToStr(SelCells[I].Y) + ') is selected.');
end;

This method is not available in the Delphi 3 version of JTF.


----------------------------------------------------------------------------------------------------
TJvTFDays.EnumSelCols
TJvTFDays	See also
function EnumSelCols: TDynIntArray;
Description
Use this function to retrieve an array of all of the currently selected columns.

Example:
procedure ShowSelCols;
var
 SelCols : TDynIntArray;
 I : Integer;
begin
 SelCols := EnumSelCols;
 For I := 0 to High(SelCols) do
 ShowMessage('Column ' + IntToStr(SelCols[I]) + ' is selected.');
end;

This method is not available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TJvTFDays.EnumSelRows
TJvTFDays	See also
function EnumSelRows: TDynIntArray;
Description
This method returns an array of all of the currently selected rows.

Example:
procedure ShowSelRows;
var
 SelRows : TDynIntArray;
 I : Integer;
begin
 SelRows := EnumSelRows;
 For I := 0 to High(SelRows) do
 ShowMessage('Row ' + IntToStr(SelRows[I]) + ' is selected.');
end;

This method is available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TJvTFDays.FinishEditAppt
TJvTFDays	See also
procedure FinishEditAppt;
Description
Call this method to complete the in-place edit function and hide the editor.



----------------------------------------------------------------------------------------------------
TJvTFDays.FullVisibleCols
TJvTFDays	See also
Function FullVisibleCols: Integer;
Description
This method will return the number of columns that are fully visible within the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.FullVisibleRows
TJvTFDays	See also
Function FullVisibleRows: Integer;
Description
This method will return the number of rows that are fully visible within the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.GetAdjClientRect
TJvTFDays
Function GetAdjClientRect: TRect;
Description
This method returns a rectangle that represents the adjusted client area of the control (which excludes the scrollbars if they are visible).



----------------------------------------------------------------------------------------------------
TJvTFDays.GetApptDispColor
TJvTFDays	See also
function GetApptDispColor(Appt: TJvTFAppt; Selected: Boolean ): TColor;
Description
Use this method to determine the actual background color of the given appointment. (Set the Selected parameter to true to determine the background color of the appointment when it is selected.)

The actual background color of an appointment is determined by several factors:
1) The background color of the appointment is specified by the Appt.Color property if that property is anything other than clDefault.

2) If Appt.Color is clDefault, then the background color is determined by ApptAttr.Color property.

3) If the appointment is selected and SelApptAttr.Color is clDefault then the background color is determined by Appt.Color (which, in turn refers to the ApptAttr.Color property if Appt.Color = clDefault).

4) Clear as mud? Just use this method to quickly and easily retrieve the actual color that will be used.

----------------------------------------------------------------------------------------------------
TJvTFDays.GetApptRect
TJvTFDays
function GetApptRect(Col: Integer; Appt: TJvTFAppt ): TRect;
Description
This method will return a bounding rectangle for the given appointment. (Since an appointment may appear in more than one column, you must also specify a column index.)

The resultant rectangle is not clipped by the visible portion of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.GetDataAreaRect
TJvTFDays	See also
Function GetDataAreaRect: TRect;
Description
This method will return a bounding rectangle for the data area (scrollable region) of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.GetDataHeight
TJvTFDays	See also
Function GetDataHeight: Integer;
Description
This method returns the height of the data area (scrollable region) of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.GetDataWidth
TJvTFDays	See also
Function GetDataWidth: Integer;
Description
This method returns the width of the data area (scrollable region) of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.GetGroupStartEndCols
TJvTFDays
procedure GetGroupStartEndCols(Col: Integer; var StartCol, EndCol: Integer );
Description
GetGroupStartEndCols will set StartCol and EndCol to the starting and ending columns of the group assigned to Col.



----------------------------------------------------------------------------------------------------
TJvTFDays.GetJvTFHintClass
TJvTFDays
function GetJvTFHintClass: TJvTFHintClass; dynamic;
Description
This method will return the specific TJvTFHint class that should be used. You can override this method to return a custom subclass of TJvTFHint.

----------------------------------------------------------------------------------------------------
TJvTFDays.GotoDate
TJvTFDays	See also
procedure GotoDate(aDate: TDate );
Description
Use this method to set the dates of the columns to any particular date. This method is a date navigation method.

This method does nothing if the Template.ActiveTemplate property is set to agtNone .



----------------------------------------------------------------------------------------------------
TJvTFDays.GroupHdrIsSelected
TJvTFDays
function GroupHdrIsSelected(aCol: Integer ): Boolean;
Description
This method will return True if the group header assigned to aCol is selected. A group header is selected if one or more of the columns within the group are selected.



----------------------------------------------------------------------------------------------------
TJvTFDays.HourEndRow
TJvTFDays	See also
function HourEndRow(Hour: Word ): Integer;
Description
This function will return the index of the last row of the hour given by Hour.



----------------------------------------------------------------------------------------------------
TJvTFDays.HourStartRow
TJvTFDays	See also
function HourStartRow(Hour: Word ): Integer;
Description
This function will return the index of the row that starts the hour given by Hour.



----------------------------------------------------------------------------------------------------
TJvTFDays.IsWeekend
TJvTFDays	See also
function IsWeekend(ColIndex: Integer): Boolean;
Description
The column specified by ColIndex falls on a weekend (as defined by the Weekend property) this method will return True, False otherwise.

Note: This method is not currently supported by TJvTFDaysPrinter.

----------------------------------------------------------------------------------------------------
TJvTFDays.LocateDivCol
TJvTFDays
function LocateDivCol(X, TotalWidth, SegCount: Integer ): Integer;
Description
This method segments a length (starting at 0 and ending at TotalWidth) and divides that length into SegCount approximately equally sized segments. The return value represents the segment that X would fall into if positioned on the length.

This method is primarily for internal use, but you may find it handy from time to time. It uses the same algorithm the "divvy up" the length as the grid uses to "divvy up" a column for multiple appointments.



----------------------------------------------------------------------------------------------------
TJvTFDays.NextDate
TJvTFDays	See also
procedure NextDate;
Description
Use this method to increment the date of the columns. This method is a date navigation method.

This method does nothing if the Template.ActiveTemplate property is set to agtNone .



----------------------------------------------------------------------------------------------------
TJvTFDays.PossVisibleRows
TJvTFDays	See also
Function PossVisibleRows: Integer;
Description
This method return the number of rows that can fit into the viewable area of the grid. It assumes that the last row may only be partially visible.

This method does not return the number of visible rows that are actually showing, but the number that could possibly show. Use the TJvTFDays.VisibleRows method to find the number of row that are actually showing.


----------------------------------------------------------------------------------------------------
TJvTFDays.PrevDate
TJvTFDays	See also
procedure PrevDate;
Description
Use this method to decrement the date of the columns. This method is a date navigation method.

This method does nothing if the Template.ActiveTemplate property is set to agtNone .



----------------------------------------------------------------------------------------------------
TJvTFDays.PtToCell
TJvTFDays	See also
Function PtToCell(X, Y: Integer ): TJvTFDaysCoord;
Description
Use the PtToCell method to get information about a particular point relative to the control. See TJvTFDaysCoord for more information.



----------------------------------------------------------------------------------------------------
TJvTFDays.RightCol
TJvTFDays	See also
function RightCol: Integer;
Description
Use this method to determine which column is the right-most column in the grid. (The column return may only be partially visible.)



----------------------------------------------------------------------------------------------------
TJvTFDays.RowCount
TJvTFDays
Function RowCount: Integer;
Description
Returns the total number of rows currently in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowEndsHour
TJvTFDays	See also
function RowEndsHour(RowNum: Integer ): Boolean;
Description
This function will return True if the row given by RowNum is the last row in the hour, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowEndTime
TJvTFDays	See also
function RowEndTime(RowNum: Integer ): TTime;
Description
This function will the end time of the given row. Example: If the given row's start time is 10:00am and the Granularity is set to 15, then RowEndTime will return 10:14:59am.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowInView
TJvTFDays	See also
procedure RowInView(aRow: Integer );
Description
Use this method to scroll the given row into view. (The row is not guaranteed to be fully visible.)



----------------------------------------------------------------------------------------------------
TJvTFDays.RowIsSelected
TJvTFDays	See also
function RowIsSelected(aRow: Integer ): Boolean;
Description
This function will return True if the given row is selected, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowsPerHour
TJvTFDays	See also
Function RowsPerHour: Integer;
Description
Returns the number of rows in one hour.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowStartsHour
TJvTFDays	See also
function RowStartsHour(RowNum: Integer ): Boolean;
Description
This function will return True if the row given by RowNum is the first row in the hour, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowToHour
TJvTFDays	See also
function RowToHour(RowNum: Integer ): Word;
Description
This function will return the hour of the row given by RowNum.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowToTime
TJvTFDays	See also
Function RowToTime(RowNum: Integer ): TTime;
Description
The RowToTime method returns the starting time of the row specified by RowNum.



----------------------------------------------------------------------------------------------------
TJvTFDays.ScrollDays
TJvTFDays	See also
procedure ScrollDays(NumDays: Integer );
Description
Use this method to scroll forward (NumDays > 0) or backward (NumDays < 0) in time by the given number of days. This method is a date navigation method.

This method does nothing if the Template.ActiveTemplate property is set to agtNone .



----------------------------------------------------------------------------------------------------
TJvTFDays.ScrollMonths
TJvTFDays	See also
procedure ScrollMonths(NumMonths: Integer );
Description
Use this method to scroll forward (NumMonths > 0) or backward (NumMonths < 0) in time by the given number of months. This method is a date navigation method.

This method does nothing if the Template.ActiveTemplate property is set to agtNone .



----------------------------------------------------------------------------------------------------
TJvTFDays.ScrollYears
TJvTFDays	See also
procedure ScrollYears(NumYears: Integer );
Description
Use this method to scroll forward (NumYears > 0) or backward (NumYears < 0) in time by the given number of years. This method is a date navigation method.

This method does nothing if the Template.ActiveTemplate property is set to agtNone .


----------------------------------------------------------------------------------------------------
TJvTFDays.SelApptCell
TJvTFDays	See also
procedure SelApptCell(anAppt: TJvTFAppt; aCol: Integer );
Description
This method causes the starting cell of the appointment given by anAppt to become the selected cell. Since an appointment may be found in more then one column you must also specify the column (aCol) that should be selected.


----------------------------------------------------------------------------------------------------
TJvTFDays.SelFirstAppt
TJvTFDays	See also
procedure SelFirstAppt;
Description
Calling this method causes the first appointment in the control to be selected. Order is determined first by column-to-column (left to right), then by row (top to bottom), and then left to right if multiple appointments exist in a cell.



----------------------------------------------------------------------------------------------------
TJvTFDays.SelFirstApptNextCol
TJvTFDays	See also
procedure SelFirstApptNextCol;
Description
Calling this method will cause the first appointment in the column following the currently focused column to be selected. This method will search each column sequentially until an appointment is found. No action is taken if no appointment is found in any of the successive columns.



----------------------------------------------------------------------------------------------------
TJvTFDays.SelFirstApptPrevCol
TJvTFDays	See also
procedure SelFirstApptPrevCol;
Description
Calling this method will cause the first appointment in the column appearing before the currently focused column to be selected. This method will search each previous column until an appointment is found. No action is taken if no appointment is found in any of the previous columns.


----------------------------------------------------------------------------------------------------
TJvTFDays.SelLastAppt
TJvTFDays	See also
procedure SelLastAppt;
Description
Calling this method causes the last appointment in the control to be selected. Order is determined first by column-to-column (left to right), then by row (top to bottom), and then left to right if multiple appointments exist in a cell.


----------------------------------------------------------------------------------------------------
TJvTFDays.SelNextAppt
TJvTFDays	See also
procedure SelNextAppt;
Description
Calling this method causes the appointment following the currently selected appointment to be selected. If there is no selected appointment, the first appointment in the selected column will be selected. If there is no selected column, the first appointment in the control will be selected. Order is determined first by column-to-column (left to right), then by row (top to bottom), and then left to right if multiple appointments exist in a cell.


----------------------------------------------------------------------------------------------------
TJvTFDays.SelPrevAppt
TJvTFDays	See also
procedure SelPrevAppt;
Description
Calling this method causes the appointment prior to the currently selected appointment to be selected. If there is no selected appointment, the last appointment in the selected column will be selected. If there is no selected column, the last appointment in the control will be selected. Order is determined first by column-to-column (left to right), then by row (top to bottom), and then left to right if multiple appointments exist in a cell.


----------------------------------------------------------------------------------------------------
TJvTFDays.TimeToRow
TJvTFDays	See also
Function TimeToRow(aTime: TTime ): Integer;
Description
The TimeToRow method returns the row index of the row that contains the time specified by aTime.

You need to be careful when using this method with appointment end times. See TJvTFDays.AdjustEndTime for more information.


----------------------------------------------------------------------------------------------------
TJvTFDays.TimeToTop
TJvTFDays
Procedure TimeToTop(aTime: TTime );
Description
Use this method to bring the row that contains aTime to the top of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.ValidSelection
TJvTFDays	See also
function ValidSelection: Boolean;
Description
This function will return True if at least one cell is selected in the grid, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFDays.VirtualCellRect
TJvTFDays	See also
Function VirtualCellRect(Col, Row: Integer ): TRect;
Description
This method will return a bounding rectangle that is not clipped by the visible area of the grid. Use the CellRect method to return a rectangle that is clipped to the visible area of the grid. Set Row to gcHdr (-1) to retrieve header information or to gcGroupHdr (-2) to retrieve group header information.



----------------------------------------------------------------------------------------------------
TJvTFDays.VirtualGroupHdrRect
TJvTFDays
function VirtualGroupHdrRect(Col: Integer ): TRect;
Description
This method returns a bounding rectangle for the group header assigned to Col. The resultant rectangle is not clipped by the visible portion of the group header.



----------------------------------------------------------------------------------------------------
TJvTFDays.VisibleCols
TJvTFDays	See also
Function VisibleCols: Integer;
Description
This method will return the number of columns that are visible in the grid. This method assumes that the right-most column may only be partially visible.


----------------------------------------------------------------------------------------------------
TJvTFDays.VisibleRows
TJvTFDays	See also
Function VisibleRows: Integer;
Description
This method will return the number of rows that are visible in the grid. This method assumes that the bottom-most row may only be partially visible.



----------------------------------------------------------------------------------------------------
TJvTFDays.ApptAttr
TJvTFDays	See also
property ApptAttr: TJvTFDaysApptAttr;
Description
Allows you to change the appearance of non-selected appointments in the grid. See TJvTFDaysApptAttr for more information.



----------------------------------------------------------------------------------------------------
TJvTFDays.ApptBar
TJvTFDays
property ApptBar: TJvTFDaysApptBar;
Description
Use this property to specify how the appointment bars should appear. See TJvTFDaysApptBar for more info.


----------------------------------------------------------------------------------------------------

TJvTFDays.ApptBuffer
TJvTFDays
property ApptBuffer: Integer default 5;
Description
Use this property specify the margin (or gap) (in pixels) from the right side of one appointment to another (or the right side of the column). The default is 5.


----------------------------------------------------------------------------------------------------
TJvTFDays.AutoSizeCols
TJvTFDays	See also
property AutoSizeCols: Boolean default True;
Description
When true, the gird will automatically size its columns so that all of the columns fit into and completely fill the visible area within the grid.


----------------------------------------------------------------------------------------------------
TJvTFDays.BorderStyle
TJvTFDays
property BorderStyle: TBorderStyle default bsSingle;
Description
Allows you to change the border of the control.



----------------------------------------------------------------------------------------------------
TJvTFDays.ColHdrHeight
TJvTFDays	See also
property ColHdrHeight: Integer default 25;
Description
Specifies the height of the column headers.


----------------------------------------------------------------------------------------------------

TJvTFDays.Cols
TJvTFDays
property Cols: TJvTFDaysCols;
Description
Provides access to the grid's column objects. See TJvTFDaysCols and TJvTFDaysCol for more information.
----------------------------------------------------------------------------------------------------


TJvTFDays.ColTitleStyle
TJvTFDays
property ColTitleStyle: TJvTFColTitleStyle default ctsSingleEllipsis;
Description
Allows you to change the manner in which the titles are drawn in the column headers. See TJvTFColTitleStyle for more information.



----------------------------------------------------------------------------------------------------
TJvTFDays.DefColWidth
TJvTFDays	See also
property DefColWidth: Integer default 100;
Description
This property specifies the width of a column immediately after it has been added to the grid.

This property is ignored if the TJvTFDays.AutoSizeCols property is set to True.


----------------------------------------------------------------------------------------------------
TJvTFDays.FancyRowHdrAttr
TJvTFDays	See also
property FancyRowHdrAttr: TJvTFDaysFancyRowHdrAttr;
Description
This property allows you to specify certain settings when fancy row headers are being used. Please see TJvTFDaysFancyRowHdrAttr for more detailed information. You can visually offset headers for selected rows by using the SelFancyRowHdrAttr property.

This property is ignored unless the RowHdrType property is set to rhFancy .


----------------------------------------------------------------------------------------------------
TJvTFDays.FocusedCol
TJvTFDays	See also
property FocusedCol: Integer;
Description
This property specifies the index of the column that has focus. (The focused column may or may not be selected.) Changing this property causes the JvTFDays control to receive the focus if it does not already have the focus. When the focus leaves the control, this property will return -1. When the focus returns to the control this property will return the column that last had the focus.



----------------------------------------------------------------------------------------------------
TJvTFDays.FocusedRow
TJvTFDays	See also
property FocusedRow: Integer;
Description
This property specifies the index of the row that has focus. (The focused row may or may not be selected.) Changing this property causes the JvTFDays control to receive the focus if it does not already have the focus. When the focus leaves the control, this property will return -1. When the focus returns to the control this property will return the row that last had the focus.



----------------------------------------------------------------------------------------------------
TJvTFDays.FocusedSchedule
TJvTFDays	See also
property FocusedSchedule: TJvTFSched;
Description
This property will point to the JvTFSched object of the column that has focus. FocusedSchedule will be nil if no column has focus or if the focused column is not connected to a schedule object in the server.


----------------------------------------------------------------------------------------------------
TJvTFDays.GrabHandles
TJvTFDays
property GrabHandles: TJvTFDaysGrabHandles;
Description
Use this property to change the appearance of the grab handles. (The grab handles are the areas on the top and the bottom of an appointment where the appointment can be "grabbed" and dragged with the mouse.) See TJvTFDaysGrabHandles for more info.


----------------------------------------------------------------------------------------------------
TJvTFDays.Granularity
TJvTFDays
property Granularity: Integer default 30;
Description
The Granularity property specifies the level of time detail that the grid displays. Valid values are any integer n where ( 1 <= n <= 60 ) and n mod 60 = 0. These values are: 60, 30, 20, 15, 12, 10, 6, 5, 4, 3, 2, and 1.

Due to Windows internal limitations and/or video card limitations, the sum of the heights of all rows cannot exceed 32,767. The RowHeight property will be adjusted accordingly.


----------------------------------------------------------------------------------------------------
TJvTFDays.GridEndTime
TJvTFDays	See also
property GridEndTime: TTime;
Description
Use this property to specify the ending time of the last row in the grid.

----------------------------------------------------------------------------------------------------
TJvTFDays.GridLineColor
TJvTFDays
property GridLineColor: TColor default clSilver;
Description
The property specifies the color of the grid lines that are drawn in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDays.GridStartTime
TJvTFDays	See also
property GridStartTime: TTime;
Description
Use this property to specify the starting time of the first row (row 0) in the grid.

----------------------------------------------------------------------------------------------------
TJvTFDays.GroupHdrAttr
TJvTFDays	See also
property GroupHdrAttr: TJvTFDaysHdrAttr;
Description
This property allows you to specify certain visual attributes of the group headers. See TJvTFDaysHdrAttr for more info.



----------------------------------------------------------------------------------------------------
TJvTFDays.GroupHdrHeight
TJvTFDays	See also
property GroupHdrHeight: Integer default 25;
Description
Specifies the height, in pixels, of the group header. (The group header will not be visible if Grouping is set to grNone.)



----------------------------------------------------------------------------------------------------
TJvTFDays.Grouping
TJvTFDays	See also
property Grouping: TJvTFDaysGrouping;
Description
Use this property to specify how the group titles will configured. grNone implies that no grouping is desired and the group headers will not be shown. grDate implies that the columns will be grouped by date. grResource implies that the columns will be grouped by resource (schedule name). grCustom implies that the columns will be grouped by some other method.

Changing the value of this property may or may not change the value of the GroupTitle property for each column present in the grid. See the GroupTitle property for more information.

Changing this property will not change the order of the columns in the control. It only affects the group headers and group titles.



----------------------------------------------------------------------------------------------------
TJvTFDays.HdrAttr
TJvTFDays	See also
property HdrAttr: TJvTFDaysHdrAttr;
Description
This specifies the appearance of the non-selected row and column headers. See TJvTFDaysHdrAttr for more information.

This property is ignored unless the RowHdrType property is set to rhGrid .



----------------------------------------------------------------------------------------------------
TJvTFDays.LeftCol
TJvTFDays	See also
property LeftCol: Integer;
Description
Determines which column is currently the left-most column in the grid.

A value of -1 is only valid when there are no columns in the grid.


----------------------------------------------------------------------------------------------------
TJvTFDays.MinColWidth
TJvTFDays	See also
property MinColWidth: Integer default AbsMinColWidth;
Description
Use this property to ensure that any column will not be sized to a width less than MinColWidth.



----------------------------------------------------------------------------------------------------
TJvTFDays.MinRowHeight
TJvTFDays	See also
property MinRowHeight: Integer default 12;
Description
Use this property to ensure that the rows will not be sized to a height less than MinRowHeight.



----------------------------------------------------------------------------------------------------
TJvTFDays.Options
TJvTFDays
property Options: TJvTFDaysOptions default [ agoSizeCols, agoSizeRows, agoSizeColHdr, agoSizeRowHdr, agoSizeAppt, agoMoveAppt, agoEditing, agoShowPics, agoShowText, agoShowApptHints, agoShowSelHint ];
Description
Use the Options property to change many of the different run-time behaviors of the grid. See TJvTFDaysOptions for more information.



----------------------------------------------------------------------------------------------------
TJvTFDays.PrimeTime
TJvTFDays
property PrimeTime: TJvTFDaysPrimeTime;
Description
Use this property to set prime time information for grid. See TJvTFDaysPrimeTime for more information.

Prime time is usually set up as the workday (i.e. 8:00am - 5:00pm).



----------------------------------------------------------------------------------------------------
TJvTFDays.RowHdrType
TJvTFDays	See also
property RowHdrType: TJvTFRowHdrType default rhFancy;
Description
Use this property to specify which type of row headers should be used. See TJvTFRowHdrType for more details.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowHdrWidth
TJvTFDays	See also
property RowHdrWidth: Integer default 50;
Description
Use this property to set the width of the row headers.



----------------------------------------------------------------------------------------------------
TJvTFDays.RowHeight
TJvTFDays
property RowHeight: Integer default 25;
Description
Use this property to set the height of the rows. (All rows are sized to the same height.)

Due to Windows internal limitations and/or video card limitations, the sum of the heights of all rows cannot exceed 32,767. The RowHeight property will be adjusted accordingly.



----------------------------------------------------------------------------------------------------
TJvTFDays.SelAppt
TJvTFDays	See also
property SelAppt: TJvTFAppt;
Description
The SelAppt property will hold a pointer to the currently selected appointment. A nil value is given when there is not any appointment selected.



----------------------------------------------------------------------------------------------------
TJvTFDays.SelApptAttr
TJvTFDays	See also
property SelApptAttr: TJvTFDaysApptAttr;
Description
This property specifies the display attributes of an appointment when it is selected with the mouse. See TJvTFDaysApptAttr for more information.


----------------------------------------------------------------------------------------------------
TJvTFDays.SelCellAttr
TJvTFDays
property SelCellAttr: TJvTFSelCellAttr;
Description
Use the SelCellAttr property to change the appearance of cells when they become selected. See TJvTFSelCellAttr for more detailed information.


----------------------------------------------------------------------------------------------------
TJvTFDays.SelEnd
TJvTFDays	See also
property SelEnd: TPoint;
Description
This property specifies the cell that ends the selection, with X designating the ending column and Y designating the ending row.



----------------------------------------------------------------------------------------------------
TJvTFDays.SelFancyRowHdrAttr
TJvTFDays	See also
property SelFancyRowHdrAttr: TJvTFDaysFancyRowHdrAttr;
Description
This property allows you to specify certain settings when fancy row headers are being used. Please see TJvTFDaysFancyRowHdrAttr for more detailed information. You can visually offset headers for selected rows by using the FancyRowHdrAttr property in conjunction with this property.

This property is ignored unless the RowHdrType property is set to rhFancy .



----------------------------------------------------------------------------------------------------
TJvTFDays.SelGroupHdrAttr
TJvTFDays	See also
property SelGroupHdrAttr: TJvTFDaysHdrAttr;
Description
This property allows you to specify certain visual attributes of the group headers that are selected. See TJvTFDaysHdrAttr for more info.



----------------------------------------------------------------------------------------------------
TJvTFDays.SelHdrAttr
TJvTFDays	See also
property SelHdrAttr: TJvTFDaysHdrAttr;
Description
Use this property to set the display attributes of the selected row header and the selected column header. See TJvTFDaysHdrAttr for more information.

This property is ignored unless the RowHdrType property is set to rhGrid .




----------------------------------------------------------------------------------------------------
TJvTFDays.SelStart
TJvTFDays	See also
property SelStart: TPoint;
Description
SelStart specifies the starting cell of the selection, with X designating the starting column and Y designating the start row.

Changing this property "clears" SelEnd by setting SelEnd to SelStart.


----------------------------------------------------------------------------------------------------
TJvTFDays.HintProps
TJvTFDays
property HintProps: TJvTFHintProps;
Description
This property allows you to set certain properties of the Hint window that will be used to display appointment and selection hints. Please see the TJvTFHintProps topic for more information.


----------------------------------------------------------------------------------------------------
TJvTFDays.State
TJvTFDays
property State: TJvTFDaysState;
Description
The State property will relay information about which state the grid is currently in. See TJvTFDaysState for more information on the various states.



----------------------------------------------------------------------------------------------------
TJvTFDays.Template
TJvTFDays
property Template: TJvTFDaysTemplate;
Description
You can use the Template property to quickly and easily configure the grid's columns. See TJvTFDaysTemplate for more information.



----------------------------------------------------------------------------------------------------
TJvTFDays.Thresholds
TJvTFDays
property Thresholds: TJvTFDaysThresholds;
Description
The Thresholds property allows to customize the behavior of the drawing routines when appointments are drawn at a small size. See TJvTFDaysThresholds for more information.



----------------------------------------------------------------------------------------------------
TJvTFDays.TopRow
TJvTFDays	See also
property TopRow: Integer default 0;
Description
Use this property to retrieve or set the top row of the grid.


----------------------------------------------------------------------------------------------------
TJvTFDays.Weekend
TJvTFDays	See also
property Weekend: TDaysOfWeek;
Description
This property defines the weekend. Use this property in conjunction with the WeekendColor property to color weekends differently from weekdays. Also influences the value that the IsWeekend method returns.

Note: This property is not currently supported by TJvTFDaysPrinter.

----------------------------------------------------------------------------------------------------
TJvTFDays.WeekendColor
TJvTFDays	See also
property WeekendColor: TColor;
Description
Specifies the color of the weekend. The weekend is defined by the Weekend property.

Note: This property is not currently supported by TJvTFDaysPrinter.

----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr
See also
Unit
JvTFDays
Description
You use the TJvTFDaysApptAttr object to set the display attributes for the appointments that will display in the grid. Normally you will access this object through the TJvTFDays.ApptAttr and TJvTFDays.SelApptAttr properties.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr.Create
TJvTFDaysApptAttr
constructor Create(anApptGrid: TJvTFDays );
Description
Since you will normally access this object through the TJvTFDays.ApptAttr and TJvTFDays.SelApptAttr properties, you should not have to manually create this object.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr.ParentFontChanged
TJvTFDaysApptAttr
procedure ParentFontChanged;
Description
This method is for internal use only and will cause the object to use the grid's font.
----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr.Color
TJvTFDaysApptAttr	See also
property Color: TColor;
Description
The property specifies the background color of the appointments.

If this property is a member of the SelApptAttr property and the value of the property is set to clDefault then the background color of the appointment will be specified by the Appt.Color property. The Object Inspector will not let you set the value of this property to clDefault, so you must do this at runtime if you so desire.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr.Font
TJvTFDaysApptAttr
property Font: TFont;
Description
This property specifies font information for the text (appointment description) that will be display inside of the appointment.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr.FrameColor
TJvTFDaysApptAttr
property FrameColor: TColor default clBlack;
Description
Use this property to specify the color of the border drawn around the appointments.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr.FrameWidth
TJvTFDaysApptAttr
property FrameWidth: Integer default 1;
Description
Use this property to specify the width of the border drawn around the appointments.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptAttr.ParentFont
TJvTFDaysApptAttr
property ParentFont: Boolean default True;
Description
Setting this property to True will cause the appointment text to be drawn using the grid's font.


----------------------------------------------------------------------------------------------------
TJvTFDaysApptBar
See also
Unit
JvTFDays
Description
This object is used by the TJvTFDays.ApptBar property. You use this object to specify if and how a bar will be displayed. The bar runs down the left side of each appointment and you can control its width and color, as well as its visibility.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptBar.Create
TJvTFDaysApptBar
constructor Create(anApptGrid: TJvTFDays );
Description
This object is exclusively used for the TJvTFDays.ApptBar property. You should not have to manually create this object.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptBar.Color
TJvTFDaysApptBar	See also
property Color: TColor default clNavy;
Description
Use this property to specify the color of the bar in every appointment. (You can override this color by setting the TJvTFAppt.BarColor property for individual appointments.)


----------------------------------------------------------------------------------------------------
TJvTFDaysApptBar.TimeStampColor
TJvTFDaysApptBar
property TimeStampColor: TColor default clSilver;
Description
Specifies the color of the time stamp.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptBar.TimeStampStyle
TJvTFDaysApptBar
property TimeStampStyle: TJvTFTimeStampStyle default tssFullI;
Description
Use this property to specify the style of the time stamp that shows in the appointment bar. tssNone causes JvTFDays to not show the time stamp. tssFullI displays a time stamp that looks like an I-beam ("I"). tssHalfI displays a time stamp that looks like a right bracket ("]"). tssBlock displays the time stamp as a solid rectangle.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptBar.Visible
TJvTFDaysApptBar
property Visible: Boolean default True;
Description
Use this property to hide/show the bars in all of the appointments.



----------------------------------------------------------------------------------------------------
TJvTFDaysApptBar.Width
TJvTFDaysApptBar
property Width: Integer default 5;
Description
Use this property to specify the width of the bar in all of the appointments.
----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo
See also
Description
Use this object to customize the drawing of specific aspects of an appointment. This object is used in the TJvTFDays.OnGetApptDrawInfo event.

----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo.Create
TJvTFDaysApptDrawInfo
constructor Create;

----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo.Destroy
TJvTFDaysApptDrawInfo
destructor Destroy;

----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo.Color
TJvTFDaysApptDrawInfo
property Color: TColor; Description
Specifies the background color of an appointment.

----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo.Font
TJvTFDaysApptDrawInfo
property Font: TFont; Description
Specifies the font that will used to draw the appointment's description.

----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo.FrameColor
TJvTFDaysApptDrawInfo
property FrameColor: TColor; Description
Specifies the color of the frame.

----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo.FrameWidth
TJvTFDaysApptDrawInfo
property FrameWidth: Integer; Description
Specifies the width of the frame.

----------------------------------------------------------------------------------------------------
TJvTFDaysApptDrawInfo.Visible
TJvTFDaysApptDrawInfo
property Visible: Boolean; Description
Specifies the visibility of the appointment. If True, the appointment will be drawn. If False, the appointment will NOT be drawn.
----------------------------------------------------------------------------------------------------
TJvTFDaysCol
See also
Unit
JvTFDays
Description
The TJvTFDaysCol component allows you to configure each column of the grid independently. TJvTFDaysCol is derived from Delphi's TCollectionItem which allows you to easily configure the columns at design time if you wish. You will normally access this component through the TJvTFDays.Cols property.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.CalcStartEndRows
TJvTFDaysCol
procedure CalcStartEndRows(Appt: TJvTFAppt; var StartRow, EndRow: Integer );
Description
Use CalcStartEndRows to determine the starting and ending rows for the appointment specified in Appt.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.ColCollection
TJvTFDaysCol
function ColCollection: TJvTFDaysCols;
Description
Returns a pointer to the collection object that owns the column.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.Connect
TJvTFDaysCol
procedure Connect;
Description
This method is for internal use only. Calling it will attempt to connect the column to a schedule object residing in the server.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.Connected
TJvTFDaysCol	See also
function Connected: Boolean;
Description
Returns True if the column is connected to a schedule object residing in the server. (This is the same as Schedule = nil.)



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.Disconnect
TJvTFDaysCol
procedure Disconnect;
Description
This method is for internal use only. Disconnect will attempt to disconnect the column from a schedule object residing in the server. DO NOT CALL THIS METHOD UNLESS YOU KNOW WHAT YOU ARE DOING!!



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.DumpMap
TJvTFDaysCol
procedure DumpMap;
Description
Gives a raw dump of the appt mapping data. Used for debugging and troubleshooting.

----------------------------------------------------------------------------------------------------
TJvTFDaysCol.GetFirstAppt
TJvTFDaysCol	See also
function GetFirstAppt: TJvTFAppt;
Description
This method will return the first appointment in the column. It will return nil if there are no appointments in the column. Order is determined first by cells, top to bottom and then left to right when multiple appointments are found in the same cell.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.GetLastAppt
TJvTFDaysCol	See also
function GetLastAppt: TJvTFAppt;
Description
This method will return the last appointment found in the column. It will return nil if no appointments exist in the column. Order is determined first by cells, top to bottom and then left to right when multiple appointments are found in the same cell.


----------------------------------------------------------------------------------------------------
TJvTFDaysCol.GetNextAppt
TJvTFDaysCol	See also
function GetNextAppt(RefAppt: TJvTFAppt ): TJvTFAppt;
Description
This method will return the appointment that follows RefAppt. It will return nil if there are no appointments in the column. If RefAppt is nil the first appointment in the column is returned. Order is determined first by cells, top to bottom and then left to right when multiple appointments are found in the same cell.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.GetPrevAppt
TJvTFDaysCol	See also
function GetPrevAppt(RefAppt: TJvTFAppt ): TJvTFAppt;
Description
This method returns the appointment before RefAppt. It will return nil if there are no appointments in the column. If RefAppt is nil, the last appointment in the column will be returned. Order is determined first by cells, top to bottom and then left to right when multiple appointments are found in the same cell.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.LocateMapCol
TJvTFDaysCol
function LocateMapCol(Appt: TJvTFAppt; MapSearchRow: Integer ): Integer;
Description
LocateMapCol is for internal use only.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.MapColCount
TJvTFDaysCol
function MapColCount(Row: Integer ): Integer;
Description
MapColCount is for internal use only.


----------------------------------------------------------------------------------------------------
TJvTFDaysCol.MapLocation
TJvTFDaysCol
function MapLocation(Col, Row: Integer ): TJvTFAppt;
Description
MapLocation is for internal use only.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.RefreshMap
TJvTFDaysCol
procedure RefreshMap;
Description
This method is for internal use only.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.SetSchedule
TJvTFDaysCol	See also
procedure SetSchedule(NewSchedName: String; NewSchedDate: TDate );
Description
Use this method to change both of the schedule attributes of the column (name and date) at the same time. This is slightly more efficient than changing them one at a time.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.UpdateTitles
TJvTFDaysCol	See also
procedure UpdateTitles;
Description
UpdateTitle s is for internal use only. If called it will set the column's group title and title to a default value and fire the OnUpdateColTitles event.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.GroupTitle
TJvTFDaysCol	See also
property GroupTitle: String;
Description
This property specifies the title of the group. Since the GroupTitle is column specific, a group is defined by one or more contiguous matching group titles.

For example:
Col 0 GroupTitle = 'Mike'
Col 1 GroupTitle = 'Mike'
Col 2 GroupTitle = 'Mike'
Col 3 GroupTitle = 'Bob'
Col 4 GroupTitle = 'Bob'
Col 5 GroupTitle = 'Elsie'
Col 6 GroupTitle = 'Bob'

The above example defines four groups. The first group (cols 0, 1, and 2) has the title 'Mike'. The second group (cols 3 and 4) has the title 'Bob'. The third group (col 5) has the title 'Elsie'. The fourth group (col 6) has the title 'Bob'.

The GroupTitle property may or may not be automatically maintained by JvTFDays. If the Grouping property is set to grNone, the GroupTitle for all columns will be cleared (set to null). If Grouping is set to grDate the GroupTitle for each column will be set to a string representation of the column's SchedDate property and formatted by JvTFDays' DateFormat property. If Grouping is set to grResource, the GroupTitle for each column will be set to the column's SchedName property. If Grouping is set to grCustom the GroupTitle for each column will not be updated. It is up to you to set the GroupTitle in this case.

In all cases JvTFDays will fire the OnUpdateColTitles event which will allow you change the default values for both the GroupTitle and Title properties.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.SchedDate
TJvTFDaysCol	See also
property SchedDate: TDate;
Description
This property specifies the date of the schedule that the column will display.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.SchedName
TJvTFDaysCol	See also
property SchedName: String;
Description
This property specifies the name of the schedule (resource name) that the column will display.



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.Schedule
TJvTFDaysCol	See also
property Schedule: TJvTFSched;
Description
Provides access to the schedule object connected to the column. (This property may be nil which would indicate that there is no connection between the column and schedule object residing in the server.)



----------------------------------------------------------------------------------------------------
TJvTFDaysCol.Title
TJvTFDaysCol	See also
property Title: String;
Description
Use this property to specify the title of the column.


----------------------------------------------------------------------------------------------------
TJvTFDaysCol.Width
TJvTFDaysCol	See also
property Width: Integer;
Description
Specifies the width of the column.
----------------------------------------------------------------------------------------------------
TJvTFDaysCols
See also
Unit
JvTFDays
Description
The TJvTFDaysCols component is a container for the TJvTFDaysCol components and is derived from Delphi's TCollection class. This makes it easy to configure the grid's columns at design time if you wish. You will normally access this object through the TJvTFDays.Cols property.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.Add
TJvTFDaysCols
function Add: TJvTFDaysCol;
Description
Use the Add method to add new columns to the grid at runtime.

Call TJvTFDaysCol.Free to remove columns from the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.Create
TJvTFDaysCols	See also
constructor Create(aApptGrid: TJvTFDays );
Description
You should never need to create this object. Normally you will access it through the TJvTFDays.Cols property.

Use the CreateForPrinter constructor when creating this object for use with TJvTFDaysPrinter.


----------------------------------------------------------------------------------------------------
TJvTFDaysCols.CreateForPrinter
TJvTFDaysCols	See also
constructor CreateForPrinter(aPrinter: TJvTFDaysPrinter );
Description
Use this constructor instead of the normal Create constructor when the TJvTFDaysCols object is being created for use with TJvTFDaysPrinter.

Since TJvTFDaysCols is already a property of TJvTFDaysPrinter you should never have to use this constructor.


----------------------------------------------------------------------------------------------------
TJvTFDaysCols.EnsureMaxColWidth
TJvTFDaysCols	See also
procedure EnsureMaxColWidth;
Description
T his method is for internal use only and will ensure the none of the columns are wider than the data area of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.EnsureMinColWidth
TJvTFDaysCols	See also
procedure EnsureMinColWidth;
Description
This method is for internal use only and will ensure that none of columns' widths exceed what is specified by the TJvTFDays.MinColWidth property.


----------------------------------------------------------------------------------------------------
TJvTFDaysCols.MoveCol
TJvTFDaysCols
procedure MoveCol(SourceIndex, TargetIndex: Integer );
Description
Use the MoveCol method to change order in which the columns are displayed in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.ResizeCols
TJvTFDaysCols	See also
procedure ResizeCols;
Description
Call the ResizeCols method to manually resize the grid's columns.

This method will resize the columns as if the TJvTFDays.AutoSizeCols property is set True, regardless of the value of that property.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.UpdateTitles
TJvTFDaysCols	See also
procedure UpdateTitles;
Description
This method is for internal use only. Calling UpdateTitles will result in TJvTFDaysCol.UpdateTitles being called for each of the columns.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.AddingCol
TJvTFDaysCols
property AddingCol: Boolean;
Description
AddingCol will be True if a column is in the process of being added to the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.ApptGrid
TJvTFDaysCols	See also
property ApptGrid: TJvTFDays;
Description
Holds a pointer to the JvTFDays control that owns the collection of columns.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.Items
TJvTFDaysCols
property Items [ Index: Integer ]: TJvTFDaysCol;
Description
The Items property provides access to each of the columns in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.Printer
TJvTFDaysCols	See also
property Printer: TJvTFDaysPrinter;
Description
Points to a JvTFDaysPrinter that own the objects, if the object was created by CreateForPrinter.

----------------------------------------------------------------------------------------------------
TJvTFDaysCols.SizingCols
TJvTFDaysCols	See also
property SizingCols: Boolean;
Description
SizingCols will be true if the grid is in the process of resizing it columns.

This property is valid only if the TJvTFDays.AutoSizeCols property is set to true.



----------------------------------------------------------------------------------------------------
TJvTFDaysCols.Updating
TJvTFDaysCols
property Updating: Boolean;
Description
This property will be True if the grid is being updated as a result of changes to one or more of its columns.
----------------------------------------------------------------------------------------------------
TJvTFDaysCoord
See also
Unit
JvTFDays
type TJvTFDaysCoord=record
Col: Integer;
Row: Integer;
CellX: Integer;
CellY: Integer;
AbsX: Integer;
AbsY: Integer;
Schedule: TJvTFSched;
Appt: TJvTFAppt;
DragAccept: Boolean;
end;
Description
The TJvTFDaysCoord record contains specific geographical information about a specific point in the JvTFDays control. The information in this record is calculated by a call to the TJvTFDays.PtToCell method. The information provided is as follows:

Col contains the index of the column located at point (AbsX, AbsY).
Row contains the index of the row located at point (AbsX, AbsY).
CellX contains the X value of the point (AbsX, AbsY) relative to the cell.
CellY contains the Y value of the point (AbsX, AbsY) relative to the cell.
AbsX contains the X value of the point relative to the control. (This is equal to the X parameter of PtToCell.)
AbsY contains the Y value of the point relative to the control. (This is equal to the Y parameter of PtToCell.)
Schedule points to a schedule object for the column at point (AbsX, AbsY). (Schedule may be nil.)
Appt points to the appointment that is located at point (AbsX, AbsY). (Appt may be nil.)
DragAccept will be true if the point (AbsX, AbsY) falls in valid drag area for the control (i.e. the data area).



----------------------------------------------------------------------------------------------------
TJvTFDaysCorner

Unit
JvTFDays
TJvTFDaysCorner=( agcTopLeft, agcTopRight, agcBottomLeft, agcBottomRight);
Description
This type specifies a corner of the JvTFDays control.



----------------------------------------------------------------------------------------------------
TJvTFDaysFancyRowHdrAttr
See also
Unit
JvTFDays
Description
This object is used exclusively by the FancyRowHdrAttr and SelFancyRowHdrAttr properties. You can use these properties to change the appearance of the row headers when the RowHdrType property is set to rhFancy. Fancy row headers will display minor breaks determined by granularity and major breaks after each hour.



----------------------------------------------------------------------------------------------------
TJvTFDaysFancyRowHdrAttr.Create
TJvTFDaysFancyRowHdrAttr
constructor Create(AOwner: TJvTFDays );
Description
This object is used exclusively by the FancyRowHdrAttr and SelFancyRowHdrAttr properties. You should not have to manually create this object.


----------------------------------------------------------------------------------------------------
TJvTFDaysFancyRowHdrAttr.Color
TJvTFDaysFancyRowHdrAttr
property Color: TColor default clBtnFace;
Description
The color property determines the color of the background of the row header. For the FancyRowHdrAttr property Color will specify the color of the entire background of the header. For the SelFancyRowHdrAttr property Color will specify the background color of the small area used by the minor break labels. This produces a cool visual selection cue.



----------------------------------------------------------------------------------------------------
TJvTFDaysFancyRowHdrAttr.Hr2400
TJvTFDaysFancyRowHdrAttr
property Hr2400: Boolean;
Description
Set this property to True if you want the row headers to use the 2400 hour style. Set it to False to use a lower case "a" and "p" for am and pm.

This property is ignored for the SelFancyRowHdrAttr property.
When the RowHdrType property is set to rhFancy , the TimeFormat property is ignored.



----------------------------------------------------------------------------------------------------
TJvTFDaysFancyRowHdrAttr.MajorFont
TJvTFDaysFancyRowHdrAttr
property MajorFont: TFont;
Description
Use this property to specify the font that will be used when the major labels (hours) are drawn.



----------------------------------------------------------------------------------------------------
TJvTFDaysFancyRowHdrAttr.MinorFont
TJvTFDaysFancyRowHdrAttr
property MinorFont: TFont;
Description
Use this property to specify the font that will be used when the minor labels (minutes) are drawn.



----------------------------------------------------------------------------------------------------
TJvTFDaysFancyRowHdrAttr.TickColor
TJvTFDaysFancyRowHdrAttr
property TickColor: TColor default clBlack;
Description
Use this property to specify the color of the ticks (lines seperating breaks) of the row headers.

----------------------------------------------------------------------------------------------------
TJvTFDaysGrabHandles

Unit
JvTFDays
Description
This object is used to specify how the grab handles (areas on the top and bottom of an appointment used to grab and drag the appointment) will be displayed. You can control the height and the color of the grab handles.



----------------------------------------------------------------------------------------------------
TJvTFDaysGrabHandles.Create
TJvTFDaysGrabHandles
constructor Create(anApptGrid: TJvTFDays );
Description
This object is used exclusively for the TJvTFDays.GrabHandles property. You should not have to manually create this object.


----------------------------------------------------------------------------------------------------
TJvTFDaysGrabHandles.Color
TJvTFDaysGrabHandles
property Color: TColor default clGray;
Description
Use the Color property to specify the color of the grab handles.



----------------------------------------------------------------------------------------------------
TJvTFDaysGrabHandles.Height
TJvTFDaysGrabHandles
property Height: Integer default 6;
Description
Use the Height property to specify the height of the grab handles.

----------------------------------------------------------------------------------------------------
TJvTFDaysGrouping

Unit
JvTFDays
TJvTFDaysGrouping=( grNone, grDate, grResource, grCustom);
Description
T his types specifies the different possible column grouping options available. grNone implies that no grouping is desired and the group headers will not be shown. grDate implies that the columns will be grouped by date. grResource implies that the columns will be grouped by resource (schedule name). grCustom implies that the columns will be grouped by some other method.



----------------------------------------------------------------------------------------------------
TJvTFDaysHdrAttr
See also
Unit
JvTFDays
Description
You use the TJvTFDaysHdrAttr object to set the display attributes for the row and column headers for the grid. Normally you will access this object through the TJvTFDays.HdrAttr and TJvTFDays.SelHdrAttr properties.



----------------------------------------------------------------------------------------------------
TJvTFDaysHdrAttr.Create
TJvTFDaysHdrAttr
constructor Create(AOwner: TJvTFDays );
Description
Because this object is accessed through the TJvTFDays.HdrAttr and TJvTFDays.SelHdrAttr properties, you should never have to it manually.


----------------------------------------------------------------------------------------------------
TJvTFDaysHdrAttr.ParentFontChanged
TJvTFDaysHdrAttr
procedure ParentFontChanged;
Description
This method is for internal use only and changes the object's font to reflect the grid's font.



----------------------------------------------------------------------------------------------------
TJvTFDaysHdrAttr.Color
TJvTFDaysHdrAttr
property Color: TColor default clBtnFace;
Description
This property specifies the background color of the header.



----------------------------------------------------------------------------------------------------
TJvTFDaysHdrAttr.Font
TJvTFDaysHdrAttr
property Font: TFont;
Description
The property specifies font information for the text displayed in the header.



----------------------------------------------------------------------------------------------------
TJvTFDaysHdrAttr.Frame3D
TJvTFDaysHdrAttr
property Frame3D: Boolean default True;
Description
This property specifies whether or not the headers should have a three dimensional border.



----------------------------------------------------------------------------------------------------
TJvTFDaysHdrAttr.ParentFont
TJvTFDaysHdrAttr
property ParentFont: Boolean default True;
Description
Setting this property to true will cause the grid's font to be used for the text within the headers.
----------------------------------------------------------------------------------------------------
TJvTFDaysOption

Unit
JvTFDays
TJvTFDaysOption=( agoSizeCols, agoSizeRows, agoSizeColHdr, agoSizeRowHdr, agoMoveCols, agoSizeAppt, agoMoveAppt, agoSnapMove, agoSnapSize, agoEditing, agoShowPics, agoShowText, agoShowApptHints, agoShowColHdrHints, agoShowSelHint, agoEnforceMaxColWidth, agoQuickEntry, agoFormattedDesc);
Description
This ordinal type lists the various runtime options that are available.

agoSizeCols
The columns can be sized using the mouse.

agoSizeRows
The rows can be sized using the mouse. (All rows are always set to the same height.)

agoSizeColHdr
The height of the column headers can be changed with the mouse.

agoSizeRowHdr
The width of the row headers can be changed with the mouse.

agoMoveCols
The columns can be moved with the mouse.
Columns cannot be moved if the agtLinear template is the active template.

agoSizeAppt
The length (duration) can be changed with the mouse by grabbing the bottom of the appointment.

agoMoveAppt
The start date/time can be changed with the mouse by grabbing the top of the appointment.

agoSnapMove
The start time is "snapped" to the grid when the appointment is moved with the mouse.

agoSnapSize
The end time is "snapped" to the grid when the appointment is moved with the mouse.

agoEditing
The appointments can be edited with the in-place editor.

agoShowPics
Embedded images will be displayed in the appointments.

agoShowText
The appointments' descriptions will be displayed in the appointments.

agoShowApptHints
Hint windows will appear when the mouse is positioned over an appointment or when the appointment is being sized or moved.

agoShowColHdrHints
A hint window displaying the column title will appear when the mouse is positioned over the column headers.

agoShowSelHint
A hint window displaying the start and end (dates) and times will appear when multiple cells are selected with the mouse.

agoEnforceMaxColWidth
This option will guarantee that any column will be completely visible in the grid at any given time. When included, the option ensures that no column will be wider than the data area of the grid. The rule is dynamic so when the grid is resized all columns are checked to ensure that no column is wider than the data area.

agoQuickEntry
This option allows the user to create a new appointment by selecting a cell(s) and then simply typing a description. Note that grid conditions (such as including the agoEditing option) must allow in-place editing of an appointment for this function to work. Also, you should ensure that editing will always be visible. You can achieve this by changing the EditWidth member of the Thresholds property and/or providing a handler for the OnFailEditor event.

agoFormattedDesc
This option preserves linebreaks in the description of the appointment when the description is shown inside of an appointment or inside a Hint window. If this option is not included, all CRs and LFs (linebreaks) will be removed prior to displaying the description. (This option has no affect on the actual contents of the description property of an appointment object.)



----------------------------------------------------------------------------------------------------
TJvTFDaysOptions

Unit
JvTFDays
TJvTFDaysOptions=set of TJvTFDaysOption;
Description
This type contains a set of runtime options for the JvTFDays control.



----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo
See Also
Unit
JvTFDays
Description
This object contains various information about a page. This object is used internally and is needed for a few public methods. Access to this object can be obtained through the TJvTFDaysPrinter.PageInfo property. Please do not modify the properties of this object.


----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.ColWidth
TJvTFDaysPageInfo	See also
property ColWidth: Integer;
Description
Specifies the width of each column on the page.


----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.EndCol
TJvTFDaysPageInfo	See also
property EndCol: Integer;
Description
Specifies the index of the last column on the page.


----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.EndRow
TJvTFDaysPageInfo	See also
property EndRow: Integer;
Description
Specifies the last row on the page.



----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.PageNum
TJvTFDaysPageInfo
property PageNum: Integer;
Description
Specifies the page number.


----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.RowHeight
TJvTFDaysPageInfo	See also
property RowHeight: Integer;
Description
Specifies the height of each row on the page.


----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.ShowColHdr
TJvTFDaysPageInfo	See also
property ShowColHdr: Boolean;
Description
Specifies whether the columns headers will be shown on the page.



----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.ShowRowHdr
TJvTFDaysPageInfo	See also
property ShowRowHdr: Boolean;
Description
Specifies whether the row headers will be shown on the page.


----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.StartCol
TJvTFDaysPageInfo	See also
property StartCol: Integer;
Description
Specifies the first column on the page.



----------------------------------------------------------------------------------------------------
TJvTFDaysPageInfo.StartRow
TJvTFDaysPageInfo	See also
property StartRow: Integer;
Description
Specifies the first row on the page.

----------------------------------------------------------------------------------------------------
TJvTFDaysPrimeTime
See also
Unit
JvTFDays
Description
This object stores prime time information for the JvTFDays grid. You will normally access this object through the TJvTFDays.PrimeTime property.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrimeTime.Create
TJvTFDaysPrimeTime
constructor Create(anApptGrid: TJvTFDays );
Description
Since the TJvTFDaysPrimeTime object is accessed through the TJvTFDays.PrimeTime property, you should never have to manually create the object.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrimeTime.Color
TJvTFDaysPrimeTime
property Color: TColor;
Description
The Color property specifies the color that should be used to shade the prime time area of the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrimeTime.EndTime
TJvTFDaysPrimeTime	See also
property EndTime: TTime;
Description
Use the EndTime property to set the ending time of the prime time.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrimeTime.StartTime
TJvTFDaysPrimeTime	See also
property StartTime: TTime;
Description
Use the StartTime property to set the start time for prime time in the grid.
----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter
Events
Unit
JvTFDays
Description
You will use the JvTFDaysPrinter component to print hard copies of daily views of schedules. This component contains many of the same properties, methods, and events as the JvTFDays control. The fact that the JvTFDaysPrinter component and the JvTFDays control share many of the same properties and events gives you huge flexibility.

The shared properties and events can be used to model the output of the printed document after the appearance of the JvTFDays control. You can call the SetProperties method to set all matching properties at once. Alternatively, you can give the printed document a whole different look from the JvTFDays control if you so desire.

If you do custom drawing using the OnDraw events of JvTFDays, simply point the same OnDrawEvents in JvTFDaysPrinter to the same event handlers. Voila! You now have your custom drawing appearing in the printed document.

The JvTFDaysPrinter component has its own Cols property. You use the Cols property in the exact same way you use the JvTFDays.Cols property. You can print schedules that are not currently showing in JvTFDays, or if you need to print the schedules that are currently showing a in JvTFDays control JTF assign JvTFDays.Cols to JvTFDaysPrinter.Cols:
JvTFDaysPrinter1.Cols.Assign(JvTFDays1.Cols)

There are two different models the TJvTFDaysPrinter can use for printing documents.

The first is rendering the document directly to the printer. This model sends each page of the document directly to the printer. This is the quickest and least resource intensive way to print a document. To use this model JTF set up JvTFDaysPrinter's properties and columns appropriately and then call PrintDirect to print the document. No other calls or actions are needed.

The second model renders each page of the document to a TMetafile that is stored in memory. This has the advantage of allowing you to access the image of each page of the document, but also could consume huge amounts of resources and take longer to actually print the document. To use this model, set up JvTFDaysPrinter's properties and columns appropriately then call Prepare to generate the document. After the document has been prepared you can Print it, save the page images to disk, or access each page image through the Pages property. When you are done with the document, call FreeDoc to release any of the resources allocated to the document.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnApptProgress
TJvTFDaysPrinter	See also
property OnApptProgress: TJvTFProgressEvent;
Description
This event is fired after each appointment has been drawn on the page. The value of Total is an estimate since some appointments may need to be drawn more than once.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawAppt
TJvTFDaysPrinter
property OnDrawAppt: TJvTFDrawApptEvent;
Description
The OnDrawAppt event will fire after the grid has drawn the appointment, but before the drawing is committed to the control's canvas. You can implement a handler for this event to manually draw the appointment in any way you see fit. The drawing of an appointment is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawApptEvent for detailed descriptions of the above parameters.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawApptBar
TJvTFDaysPrinter
property OnDrawApptBar: TJvTFDrawApptBarEvent;
Description
This is event is fired immediately after the control has finished drawing the appoinment bar. You can use this event to provide custom drawing of the appointment bar. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

Appt will reference the appointment whose bar is currently being drawn. Col contains the index of the column where the appointment is being drawn. BarRect is the bounding rectangle for the appointment bar. TimeStampRect is a rectangle within BarRect that is representative of the actual start and length of the appointment. The left and right sides of TimeStampRect will always be equal to the left and right sides of the BarRect.

See TJvTFDrawApptBarEvent for more details.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawColHdr
TJvTFDaysPrinter
property OnDrawColHdr: TJvTFDrawHdrEvent;
Description
The OnDrawColHdr event will fire after the grid has drawn the column header, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the header in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawHdrEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawCorner
TJvTFDaysPrinter
property OnDrawCorner: TJvTFDrawCornerEvent;
Description
The OnDrawCorner event will fire after the grid has drawn one of the corners of the grid, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the grid corner in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawCornerEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawDataCell
TJvTFDaysPrinter
property OnDrawDataCell: TJvTFDrawDataCellEvent;
Description
The OnDrawDataCell event will fire after the grid has drawn one of the data cells of the grid, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the cell in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawDataCellEvent for detailed descriptions of the above parameters.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawGroupHdr
TJvTFDaysPrinter
property OnDrawGroupHdr: TJvTFDrawHdrEvent;
Description
The OnDrawGroupHdrEvent fires immediately after a group header has been drawn. It allows you to provide custom drawing for the group headers. See TJvTFDrawHdrEvent for detail descriptions of the parameters.

JvTFDays buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawMajorRowHdr
TJvTFDaysPrinter	See also
property OnDrawMajorRowHdr: TJvTFDrawHdrEvent;
Description
This event is fired immediately after the control has finished drawing the major row header. You can use this event to provide custom drawing of the major row headers. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

Index will always be set to the last row of the hour.

See TJvTFDrawHdrEvent for more details.

This event is only fired when the RowHdrType property is set to rhFancy .



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawMinorRowHdr
TJvTFDaysPrinter	See also
property OnDrawMinorRowHdr: TJvTFDrawHdrEvent;
Description
This event is fired immediately after the control has finished drawing the minor row header. You can use this event to provide custom drawing of the minor row headers. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

See TJvTFDrawHdrEvent for more details.

This event is only fired when the RowHdrType property is set to rhFancy .



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnDrawRowHdr
TJvTFDaysPrinter	See also
property OnDrawRowHdr: TJvTFDrawHdrEvent;
Description
The OnDrawRowHdr event will fire after the grid has drawn the row header, but before the drawing is committed to the control's canvas. You can write a handler for this event that will manually draw the header in any way you see fit. The drawing is buffered to eliminate flicker. Because of the buffering you must use the canvas supplied by aCanvas and not the control's canvas.

This event is not fired unless the RowHdrType property is set to rhGrid .

See TJvTFDrawHdrEvent for detailed descriptions of the above parameters.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnGetApptDrawInfo
TJvTFDaysPrinter	See also
property OnGetApptDrawInfo: TJvTFGetDaysApptDrawInfoEvent;
Description
This event is fired immediately before each appointment is drawn. You can use the object in the DrawInfo parameter to customize the appearance of the appointment. See TJvTFDaysApptDrawInfo for more information.

----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnShadeCell
TJvTFDaysPrinter
property OnShadeCell: TJvTFShadeCellEvent;
Description
This event fires immediately before a cell is shaded. Use this event to chage the color of the cell. See TJvTFShadeCellEvent for more info.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.OnUpdateColTitles
TJvTFDaysPrinter
property OnUpdateColTitles: TJvTFUpdateTitlesEvent;
Description
This event will fire when the grid is updating a column title and/or column group title due to some change to the column. Col will point to the column that is being changed. NewGroupTitle and NewTitle will contain default title s , but can be changed by you.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.AdjustEndTime
TJvTFDaysPrinter	See also
Function AdjustEndTime(aTime: TTime ): TTime;
Description
This method is primarily for internal use but you may find it handy from time to time. The only thing it does is subtract one second from the time given. This is used internally to temporarily adjust the ending time of appointments so that they do not fall exactly on the beginning of one of the time blocks that is displaying in the grid.

Example:
Granularity = 60
Appt end time = 11:00am

Without adjusting the end time, the grid would display the appointment in the 11:00 time block (i.e. 11:00am - 12:00pm). This is clearly incorrect and misleading. By subtracting one second from the end time of the appointment (so that it ends at 10:59:59), the grid will correctly draw the appointment as ending in the 10:00am time block.

You need to be careful when working with appointment end times. To ensure the integrity of your data, the grid does not actually change the EndTime property of an appointment by applying AdjustEndTime. An example is if you would write something like:
MyEndRow := TimeToRow(anAppt.EndTime);
This may return an incorrect result as shown above. However, if you write:
MyEndRow := TimeToRow(AdjustEndTime(anAppt.EndTime));
you can be assured that MyEndRow will accurately reflect what the grid is displaying.

In fact, if you do need to find the start and/or end rows for an appointment you should use the CalcStartEndRows method as that method applies AdjustEndTime.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.CalcGroupColHdrsHeight
TJvTFDaysPrinter	See also
function CalcGroupColHdrsHeight: Integer;
Description
This method returns the calculated sum of the heights of the group header and column header, which may or may not be equal to the sum of the GroupHdrHeight and ColHdrHeight properties. If Grouping <> grNone, CalcGroupHdrHeight will return the sum of the GroupHdrHeight and ColHdrHeight properties. If Grouping = grNone, CalcGroupHdrHeight will return the value of the ColHdrHeight property.

Examples:
GroupHdrHeight = 25
ColHdrHeight = 30
Grouping = grName
CalcGroupColHdrsHeight ==> 55

GroupHdrHeight = 25
ColHdrHeight = 30
Grouping = grNone
CalcGroupHdrHeight ==> 30


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.CalcGroupHdrHeight
TJvTFDaysPrinter
function CalcGroupHdrHeight: Integer;
Description
This method returns the calculated height of the group header, which may or may not be equal to the GroupHdrHeight property. If Grouping <> grNone, CalcGroupHdrHeight will return the value of the GroupHdrHeight property. If Grouping = grNone, CalcGroupHdrHeight will return 0.

Examples:
GroupHdrHeight = 25
Grouping = grName
CalcGroupHdrHeight ==> 25

GroupHdrHeight = 25
Grouping = grNone
CalcGroupHdrHeight ==> 0



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.CalcStartEndRows
TJvTFDaysPrinter	See also
procedure CalcStartEndRows(anAppt: TJvTFAppt; SchedDate: TDate; var StartRow, EndRow: Integer );
Description
This method will caculate the start and end rows for the given appointment on the given date. If the appointment begins on an earlier date, StartRow will be set to zero. If the appointment ends on a later date, EndRow will be set to RowCount - 1.

Since this method applies the AdjustEndTime method, you should always use this method if you need to find the start and/or end rows for an appointment. See AdjustEndTime for more information.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.CellRect
TJvTFDaysPrinter	See also
Function CellRect(Col, Row: Integer; PageInfo: TJvTFDaysPageInfo ): TRect;
Description
This method is the same as TJvTFDays.CellRect, with one exception. You need to provide the PageInfo for the page that you are currently working with. See the PageInfo property.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.DaysPageLayout
TJvTFDaysPrinter	See also
function DaysPageLayout: TJvTFDaysPrinterPageLayout;
Description
This method provides alternative access to the PageLayout property. Please use the PageLayout property as this method may not be supported in the future.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GetApptDispColor
TJvTFDaysPrinter	See also
function GetApptDispColor(Appt: TJvTFAppt; Selected: Boolean ): TColor;
Description
Use this method to determine the actual background color of the given appointment. (Set the Selected parameter to true to determine the background color of the appointment when it is selected.)

The actual background color of an appointment is determined by several factors:
1) The background color of the appointment is specified by the Appt.Color property if that property is anything other than clDefault.

2) If Appt.Color is clDefault, then the background color is determined by ApptAttr.Color property.

3) If the appointment is selected and SelApptAttr.Color is clDefault then the background color is determined by Appt.Color (which, in turn refers to the ApptAttr.Color property if Appt.Color = clDefault).

4) Clear as mud? Just use this method to quickly and easily retrieve the actual color that will be used.

----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GetApptRect
TJvTFDaysPrinter	See also
function GetApptRect(Col: Integer; Appt: TJvTFAppt; PageInfo: TJvTFDaysPageInfo ): TRect;
Description
This method is the same as TJvTFDays.GetApptRect, with one exception. You must specify the PageInfo for the page you are currently working with. See the PageInfo property.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GetGroupStartEndCols
TJvTFDaysPrinter
procedure GetGroupStartEndCols(Col: Integer; var StartCol, EndCol: Integer );
Description
GetGroupStartEndCols will set StartCol and EndCol to the starting and ending columns of the group assigned to Col.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.HourEndRow
TJvTFDaysPrinter	See also
function HourEndRow(Hour: Word ): Integer;
Description
This function will return the index of the last row of the hour given by Hour.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.HourStartRow
TJvTFDaysPrinter	See also
function HourStartRow(Hour: Word ): Integer;
Description
This function will return the index of the row that starts the hour given by Hour.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.Prepare
TJvTFDaysPrinter
procedure Prepare;
Description
After you have set up the columns and the properties as you like call Prepare to generate the document. A document must be prepared before it is sent to the printer or otherwise manipulated.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.PrintDirect
TJvTFDaysPrinter	See also
procedure PrintDirect;
Description
Calling this method prints the document. Each page is sent to the printer as it is rendered.

After you have set up JvTFDaysPrinter's properties and columns properly you can simply call PrintDirect to print the document. See the TJvTFDaysPrinter topic for other ways of printing the document.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowCount
TJvTFDaysPrinter
Function RowCount: Integer;
Description
Returns the total number of rows currently in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowEndsHour
TJvTFDaysPrinter	See also
function RowEndsHour(RowNum: Integer ): Boolean;
Description
This function will return True if the row given by RowNum is the last row in the hour, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowEndTime
TJvTFDaysPrinter	See also
function RowEndTime(RowNum: Integer ): TTime;
Description
This function will the end time of the given row. Example: If the given row's start time is 10:00am and the Granularity is set to 15, then RowEndTime will return 10:14:59am.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowStartsHour
TJvTFDaysPrinter	See also
function RowStartsHour(RowNum: Integer ): Boolean;
Description
This function will return True if the row given by RowNum is the first row in the hour, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowToHour
TJvTFDaysPrinter	See also
function RowToHour(RowNum: Integer ): Word;
Description
This function will return the hour of the row given by RowNum.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowToTime
TJvTFDaysPrinter	See also
Function RowToTime(RowNum: Integer ): TTime;
Description
The RowToTime method returns the starting time of the row specified by RowNum.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.SetProperties
TJvTFDaysPrinter
procedure SetProperties(aJvTFDays: TJvTFDays );
Description
Call this method to set the properties that correspond to the properties in the JvTFDays control specified by aJvTFDays.
The following properties are "copied":

	ApptAttr
	ApptBar
	ApptBuffer
	ColHdrHeight
	Color
	ColTitleStyle
	DateFormat
	FancyRowHdrAttr
	Granularity
	GridEndTime
	GridLineColor
	GridStartTime
	HdrAttr
	MinColWidth
	PrimeTime
	RowHdrType
	RowHdrWidth
	RowHeight
	ShowPics
	ShowText
	Thresholds
	TimeFormat


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.TimeToRow
TJvTFDaysPrinter	See also
Function TimeToRow(aTime: TTime ): Integer;
Description
The TimeToRow method returns the row index of the row that contains the time specified by aTime.

You need to be careful when using this method with appointment end times. See TJvTFDays.AdjustEndTime for more information.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.VirtualGroupHdrRect
TJvTFDaysPrinter	See also
function VirtualGroupHdrRect(Col: Integer; PageInfo: TJvTFDaysPageInfo ): TRect;
Description
This method returns a bounding rectangle for the group header assigned to Col. The resultant rectangle is not clipped by the visible portion of the group header.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ApptAttr
TJvTFDaysPrinter	See also
property ApptAttr: TJvTFDaysApptAttr;
Description
Allows you to change the appearance of non-selected appointments in the grid. See TJvTFDaysApptAttr for more information.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ApptBar
TJvTFDaysPrinter
property ApptBar: TJvTFDaysApptBar;
Description
Use this property to specify how the appointment bars should appear. See TJvTFDaysApptBar for more info.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ApptBuffer
TJvTFDaysPrinter
property ApptBuffer: Integer default 5;
Description
Use this property specify the margin (or gap) (in pixels) from the right side of one appointment to another (or the right side of the column). The default is 5.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ApptCount
TJvTFDaysPrinter
property ApptCount: Integer;
Description
Specifies the total number of appointments that are contained in loaded schedules.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ColHdrHeight
TJvTFDaysPrinter	See also
property ColHdrHeight: Integer default 25;
Description
Specifies the height of the column headers.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.Color
TJvTFDaysPrinter
property Color default clWindow;

----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.Cols
TJvTFDaysPrinter
property Cols: TJvTFDaysCols;
Description
Provides access to the grid's column objects. See TJvTFDaysCols and TJvTFDaysCol for more information.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ColTitleStyle
TJvTFDaysPrinter
property ColTitleStyle: TJvTFColTitleStyle default ctsSingleEllipsis;
Description
Allows you to change the manner in which the titles are drawn in the column headers. See TJvTFColTitleStyle for more information.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.FancyRowHdrAttr
TJvTFDaysPrinter	See also
property FancyRowHdrAttr: TJvTFDaysFancyRowHdrAttr;
Description
This property allows you to specify certain settings when fancy row headers are being used. Please see TJvTFDaysFancyRowHdrAttr for more detailed information. You can visually offset headers for selected rows by using the SelFancyRowHdrAttr property.

This property is ignored unless the RowHdrType property is set to rhFancy .


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.FormattedDesc
TJvTFDaysPrinter	See also
property FormattedDesc: Boolean;
Description
This property corresponds to the agoFormattedDesc option in TJvTFDays.Options.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.Granularity
TJvTFDaysPrinter
property Granularity: Integer default 30;
Description
The Granularity property specifies the level of time detail that the grid displays. Valid values are any integer n where ( 1 <= n <= 60 ) and n mod 60 = 0. These values are: 60, 30, 20, 15, 12, 10, 6, 5, 4, 3, 2, and 1.

Due to Windows internal limitations and/or video card limitations, the sum of the heights of all rows cannot exceed 32,767. The RowHeight property will be adjusted accordingly.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GridEndTime
TJvTFDaysPrinter	See also
property GridEndTime: TTime;
Description
Use this property to specify the ending time of the last row in the grid.

----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GridLineColor
TJvTFDaysPrinter
property GridLineColor: TColor default clSilver;
Description
The property specifies the color of the grid lines that are drawn in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GridStartTime
TJvTFDaysPrinter	See also
property GridStartTime: TTime;
Description
Use this property to specify the starting time of the first row (row 0) in the grid.

----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GroupHdrAttr
TJvTFDaysPrinter	See also
property GroupHdrAttr: TJvTFDaysHdrAttr;
Description
This property allows you to specify certain visual attributes of the group headers. See TJvTFDaysHdrAttr for more info.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.GroupHdrHeight
TJvTFDaysPrinter	See also
property GroupHdrHeight: Integer default 25;
Description
Specifies the height, in pixels, of the group header. (The group header will not be visible if Grouping is set to grNone.)



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.Grouping
TJvTFDaysPrinter	See also
property Grouping: TJvTFDaysGrouping;
Description
Use this property to specify how the group titles will configured. grNone implies that no grouping is desired and the group headers will not be shown. grDate implies that the columns will be grouped by date. grResource implies that the columns will be grouped by resource (schedule name). grCustom implies that the columns will be grouped by some other method.

Changing the value of this property may or may not change the value of the GroupTitle property for each column present in the grid. See the GroupTitle property for more information.

Changing this property will not change the order of the columns in the control. It only affects the group headers and group titles.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.HdrAttr
TJvTFDaysPrinter	See also
property HdrAttr: TJvTFDaysHdrAttr;
Description
This specifies the appearance of the non-selected row and column headers. See TJvTFDaysHdrAttr for more information.

This property is ignored unless the RowHdrType property is set to rhGrid .



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.MinColWidth
TJvTFDaysPrinter	See also
property MinColWidth: Integer default AbsMinColWidth;
Description
Use this property to ensure that any column will not be sized to a width less than MinColWidth.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.MinRowHeight
TJvTFDaysPrinter	See also
property MinRowHeight: Integer default 12;
Description
Use this property to ensure that the rows will not be sized to a height less than MinRowHeight.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.PageInfo
TJvTFDaysPrinter	See also
property PageInfo [ PageNum: Integer ]: TJvTFDaysPageInfo;
Description
The PageInfo provides specific information about each page. The information supplied in TJvTFDaysPageInfo is primarily for internal use, but is needed for a few public methods. Please do not change the information contained in the TJvTFDaysPageInfo object that is returned.

See TJvTFDaysPageInfo for more information.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.PageLayout
TJvTFDaysPrinter	See also
property PageLayout: TJvTFDaysPrinterPageLayout;
Description
Use this property to specify various aspects of how the page is laid out on paper. See TJvTFDaysPrinterPageLayout for more information.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.PrimeTime
TJvTFDaysPrinter
property PrimeTime: TJvTFDaysPrimeTime;
Description
Use this property to set prime time information for grid. See TJvTFDaysPrimeTime for more information.

Prime time is usually set up as the workday (i.e. 8:00am - 5:00pm).



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowHdrType
TJvTFDaysPrinter	See also
property RowHdrType: TJvTFRowHdrType default rhFancy;
Description
Use this property to specify which type of row headers should be used. See TJvTFRowHdrType for more details.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowHdrWidth
TJvTFDaysPrinter	See also
property RowHdrWidth: Integer default 50;
Description
Use this property to set the width of the row headers.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.RowHeight
TJvTFDaysPrinter
property RowHeight: Integer default 25;
Description
Use this property to set the height of the rows. (All rows are sized to the same height.)

Due to Windows internal limitations and/or video card limitations, the sum of the heights of all rows cannot exceed 32,767. The RowHeight property will be adjusted accordingly.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ShowPics
TJvTFDaysPrinter	See also
property ShowPics: Boolean;
Description
This property corresponds to the agoShowPics option in TJvTFDays.Options.



----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.ShowText
TJvTFDaysPrinter	See also
property ShowText: Boolean;
Description
This property corresponds to the agoShowText option in TJvTFDays.Options.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinter.Thresholds
TJvTFDaysPrinter
property Thresholds: TJvTFDaysThresholds;
Description
The Thresholds property allows to customize the behavior of the drawing routines when appointments are drawn at a small size. See TJvTFDaysThresholds for more information.
----------------------------------------------------------------------------------------------------
TJvTFDaysPrinterPageLayout
See also
Unit
JvTFDays
Description
You use the TJvTFDaysPrinterPageLayout class to access specific properties (i.e. margins) related to the layout of a printed page. Normally you will access this property through the TJvTFDaysPrinter.PageLayout property.




----------------------------------------------------------------------------------------------------
TJvTFDaysPrinterPageLayout.AlwaysShowColHdr
TJvTFDaysPrinterPageLayout	See also
property AlwaysShowColHdr: Boolean;
Description
If this property is True the column headers will be drawn on every page. If False, the column headers will only be drawn on pages where the first row appears.

Example: The printed document contains two pages. Page 1 contains the rows for 12am to 11:59am. Page 2 contains the rows for 12pm to 11:59pm. If AlwaysShowColHdr is true, the column headers will be drawn on Page 1 and Page 2. If AlwaysShowColHdr is False, the columns headers will only be drawn on Page 1.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinterPageLayout.AlwaysShowRowHdr
TJvTFDaysPrinterPageLayout	See also
property AlwaysShowRowHdr: Boolean;
Description
If this property is True the row headers will be drawn on every page. If False, the row headers will only be drawn on pages where the first column appears.

Example: The printed document contains two pages. Page 1 contains columns 1 to 4. Page 2 contains columns 5 to 8. If AlwaysShowRowHdr is True, the row headers will be drawn on Page 1 and Page 2. If AlwaysShowRowHdr is False, the row headers will only be drawn on Page 1.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinterPageLayout.ColsPerPage
TJvTFDaysPrinterPageLayout	See also
property ColsPerPage: Integer;
Description
Set this property to the number of columns you want to show on each page. A value of 0 (zero) will fit all of the columns onto one page.


----------------------------------------------------------------------------------------------------
TJvTFDaysPrinterPageLayout.RowsPerPage
TJvTFDaysPrinterPageLayout	See also
property RowsPerPage: Integer;
Description
Use this property to control the number of rows that are printed on a page. A value of 0 (zero) will fit all of the rows onto one page.

----------------------------------------------------------------------------------------------------
TJvTFDaysScrollBar
Events
Unit
JvTFDays
Description
The TJvTFDaysScrollBar component is for internal use only.
----------------------------------------------------------------------------------------------------
TJvTFDaysState

Unit
JvTFDays
TJvTFDaysState=( agsNormal, agsSizeCol, agsSizeRow, agsSizeColHdr, agsSizeRowHdr, agsMoveCol, agsSizeAppt, agsMoveAppt);
Description
This ordinal type represent various states that the JvTFDays control might be in.

agsNorma l
The grid is in normal state. (or "ohkee-dohkee" in Minnesotan)

agsSizeCol
A column is currently being sized with the mouse.

agsSizeRow
A row is currently being sized with the mouse.

agsSizeColHdr
The columns headers are currently being sized with the mouse.

agsSizeRowHdr
The row headers are currently being sized with the mouse.

agsMoveCol
A columns is currently being moved with the mouse.

agsSizeAppt
An appointment is currently being sized with the mouse

agsMoveAppt
An appointment is currently being moved with the mouse.


----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate
See also
Unit
JvTFDays
Description
The TJvTFDaysTemplate object contains the settings and routines that allow you to use template in the JvTFDays control. You will normally work with this object from the TJvTFDays.Template property.



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.BeginCompNamesUpdate
TJvTFDaysTemplate	See also
procedure BeginCompNamesUpdate;
Description
If you are changing the list of schedule names (resources) listed in the CompNames property one-by-one it is advisable to wrap that code in a BeginCompNamesUpdate and EndCompNamesUpdate pair. Doing so will defer the updating of the control until EndCompNamesUpdate is called which improves efficiency. Calls to BeginCompNamesUpdate and EndCompNamesUpdate are not needed if you are assigning a list to the CompNames property ( CompNames.Assign(NewCompNames) ).

BeginCompNamesUpdate and EndCompNamesUpdate cannot be nested. Calling BeginCompNamesUpdate will always disable the updating of the control and EndCompNamesUpdate will always immediately update the control if necessary.

BeginCompNamesUpdate and EndCompNamesUpdate will only be effective if the ActiveTemplate property is set to agtComparative.



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.Create
TJvTFDaysTemplate
constructor Create(anApptGrid: TJvTFDays );
Description
Since this object will be present as the TJvTFDays.Template property you should never need to create it yourself.



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.EndCompNamesUpdate
TJvTFDaysTemplate	See also
procedure EndCompNamesUpdate;
Description
If you are changing the list of schedule names (resources) listed in the CompNames property one-by-one it is advisable to wrap that code in a BeginCompNamesUpdate and EndCompNamesUpdate pair. Doing so will defer the updating of the control until EndCompNamesUpdate is called which improves efficiency. Calls to BeginCompNamesUpdate and EndCompNamesUpdate are not needed if you are assigning a list to the CompNames property ( CompNames.Assign(NewCompNames) ).

BeginCompNamesUpdate and EndCompNamesUpdate cannot be nested. Calling BeginCompNamesUpdate will always disable the updating of the control and EndCompNamesUpdate will always immediately update the control if necessary.

BeginCompNamesUpdate and EndCompNamesUpdate will only be effective if the ActiveTemplate property is set to agtComparative.


----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.UpdateGrid
TJvTFDaysTemplate	See also
procedure UpdateGrid;
Description
Call this method to force the JvTFDays grid to updated to reflect the current template settings. (This is primarily used internally and you should not have to directly use this method.)



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.ActiveTemplate
TJvTFDaysTemplate
property ActiveTemplate: TJvTFDaysTemplates default agtNone;
Description
Set the ActiveTemplate property to the type of template that you want the JvTFDays control to use. See TJvTFDaysTemplates for more information on the different types of templates that are available.

Columns cannot be moved when using the linear template.



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.ApptGrid
TJvTFDaysTemplate
property ApptGrid: TJvTFDays;
Description
This property references the JvTFDays control that "owns" the TJvTFDaysTemplate object.



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.CompDate
TJvTFDaysTemplate	See also
property CompDate: TDate;
Description
Set this property to change the date that will show when the comparative template is used. This property is ignored unless the ActiveTemplate property is set to agtComparative .



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.CompNames
TJvTFDaysTemplate	See also
property CompNames: TStrings;
Description
Use this property to list all of the schedule names (resource names) that will display when using the comparative template. This property is ignored unless the ActiveTemplate property is set to agtComparative .


----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.IgnoreNav
TJvTFDaysTemplate	See also
property IgnoreNav: Boolean default False;
Description
Setting this property to true will cause JvTFDays to ignore navigation commands sent from the Navigator.

----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.LinearDayCount
TJvTFDaysTemplate	See also
property LinearDayCount: Integer;
Description
Use this property to set the number of days (beginning with LinearStartDate) that will display under the linear template.

Changing this property will change the LinearEndDate property.

This property will be ignored unless the ActiveTemplate property is set to agtLinear .


----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.LinearEndDate
TJvTFDaysTemplate	See also
property LinearEndDate: TDate;
Description
Change this property to change the last date that is displayed under the linear template.

Changing this property will change the LinearDayCount property.

This property will be ignored unless the ActiveTemplate property is set to agtLinear .


----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.LinearName
TJvTFDaysTemplate	See also
property LinearName: String;
Description
Use this property to specify which schedule name (resource name) will be display for the linear template.

This property will be ignored unless the ActiveTemplate property is set to agtLinear .


----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.LinearStartDate
TJvTFDaysTemplate	See also
property LinearStartDate: TDate;
Description
Use this property to specify the first date that will be displayed under the linear template.

This property will be ignored unless the ActiveTemplate property is set to agtLinear .



----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.ShortTitles
TJvTFDaysTemplate
property ShortTitles: Boolean default True;
Description
If ShortTitles is set to True then the redundant information will be removed from the default column titles.

This property is ignored if the ActiveTemplate property is set to agtNone .


----------------------------------------------------------------------------------------------------
TJvTFDaysTemplate.UpdatingGrid
TJvTFDaysTemplate	See also
property UpdatingGrid: Boolean;
Description
This property will be true when the TJvTFDaysTemplate object is updating the JvTFDays grid to reflect changes to the template settings.

----------------------------------------------------------------------------------------------------
TJvTFDaysTemplates

Unit
JvTFDays
TJvTFDaysTemplates=( agtNone, agtLinear, agtComparative);
Description
This ordinal type lists the various template options.

agtNone
No template will be used. You are free to configure the columns in any way you see fit.

agtLinear
The grid will display one schedule (resource) over many consecutive dates.

agtComparative
The grid will display many schedules (resources) for one date.

Note that the date navigation methods can only be used with the linear and comparative templates.
Columns cannot be moved when using the linear template.



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds
See also
Unit
JvTFDays
Description
The TJvTFDaysThresholds object is used to control how certain aspects of appointments are drawn when the space within the appointments' borders is small. Normally, you will access this object through the TJvTFDays.Thresholds property.


----------------------------------------------------------------------------------------------------

TJvTFDaysThresholds.Create
TJvTFDaysThresholds
constructor Create(AOwner: TJvTFDays );
Description
You should never have to create this object. You can access it through the TJvTFDays.Thresholds property.



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.DetailHeight
TJvTFDaysThresholds	See also
property DetailHeight: Integer default 10;
Description
DetailHeight represents the minimum height of an appointment required to display detail information within the appointment's borders. The detail information consists of any embedded images and the appointment's description.

This value is in pixels.

Setting DetailHeight to some reasonable value (i.e. 10) increases performance when there are many small appointments displayed in the grid.



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.DetailWidth
TJvTFDaysThresholds	See also
property DetailWidth: Integer default 10;
Description
DetailWidth represents the minimum width of an appointment required to display detail information within the appointment's borders. The detail information consists of any embedded images and the appointment's description.

This value is in pixels.

Setting DetailWidth to some reasonable value increases performance when there are many small appointments displayed in the grid.



----------------------------------------------------------------------------------------------------

TJvTFDaysThresholds.DropTextFirst
TJvTFDaysThresholds
property DropTextFirst: Boolean default True;
Description
DropTextFirst determines which element (images or description) of the appointment detail should be drawn when there is not enough room to display both. If DropTextFirst is True, the images will display instead of the description. If DropTextFirst is False, the description will display instead of any images.



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.EditHeight
TJvTFDaysThresholds	See also
property EditHeight: Integer default 1;
Description
EditHeight represents the minimum height of the appointment before the in-place editor can be used. If the appointment's height is less than EditHeight, the OnFailEditor event will fire.

This value is measured in lines of text.



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.EditWidth
TJvTFDaysThresholds	See also
property EditWidth: Integer default 10;
Description
EditWidth represents the minimum width of the appointment before the in-place editor can be used. If the appointment's width is less than EditWidth, the OnFailEditor event will fire.

This value is measured in characters. (An average character width for the appointment's font is calculated so results may not be exact.)


----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.PicsAllOrNone
TJvTFDaysThresholds	See also
property PicsAllOrNone: Boolean default False;
Description
If this property is True and there isn't enough room to display all of the appointment's images, none will be displayed. Otherwise, only some of the images may be displayed if the size of the appointment is small.



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.TextHeight
TJvTFDaysThresholds	See also
property TextHeight: Integer default 1;
Description
Use this property to specify the minimum amount of height needed to display the appointment's description.

This value is measured in lines of text.



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.TextWidth
TJvTFDaysThresholds	See also
property TextWidth: Integer default 10;
Description
Use this property to specify the minimum amount of width needed to display the appointment's description.

This value is measured in characters. (An average character width is calculated for the appointment's font so results may not be exact.)



----------------------------------------------------------------------------------------------------
TJvTFDaysThresholds.WholePicsOnly
TJvTFDaysThresholds	See also
property WholePicsOnly: Boolean default True;
Description
If WholePicsOnly is True, images that will be clipped by the appointments borders will not be displayed. If False, images may be clipped if there is not enough room within the appointment's borders to display the entire image. (Images or image fragments will never be drawn outside of the appointment.)
----------------------------------------------------------------------------------------------------
TJvTFDispOrder

Unit
JvTFWeeks
TJvTFDispOrder=( doLeftRight, doTopBottom);
Description
Value		Meaning
doLeftRight	Display will be from left to right.
doTopBottom	Display will be from top to bottom.

----------------------------------------------------------------------------------------------------
TJvTFDWNames
Events
Unit
JvTFServer
Description
This class provides the mechanism to store and retrieve the display names of the days of the week.

----------------------------------------------------------------------------------------------------
TJvTFDWNames.OnChange
TJvTFDWNames
property OnChange: TNotifyEvent;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFDWNames.GetDWName
TJvTFDWNames	See also
function GetDWName(DWIndex: Integer ): String;
Description
This method will return the display name of the day of the week specified by DWIndex. The value returned in dependent upon the setting of the Source property.

DWIndex follows the same numbering convention as Delphi's DayOfWeek function. That is:
Sunday = 1
Monday = 2
Tuesday = 3
Wednesday = 4
Thursday = 5
Friday = 6
Saturday = 7

----------------------------------------------------------------------------------------------------
TJvTFDWNames.DWN_Friday
TJvTFDWNames	See also
property DWN_Friday: String;
Description
Specify a custom day of week display name in this property. This property will be ignored unless Source is set to dwnsCustom.

----------------------------------------------------------------------------------------------------
TJvTFDWNames.DWN_Monday
TJvTFDWNames	See also
property DWN_Monday: String;
Description
Specify a custom day of week display name in this property. This property will be ignored unless Source is set to dwnsCustom.


----------------------------------------------------------------------------------------------------
TJvTFDWNames.DWN_Saturday
TJvTFDWNames	See also
property DWN_Saturday: String;
Description
Specify a custom day of week display name in this property. This property will be ignored unless Source is set to dwnsCustom.


----------------------------------------------------------------------------------------------------
TJvTFDWNames.DWN_Sunday
TJvTFDWNames	See also
property DWN_Sunday: String;
Description
Specify a custom day of week display name in this property. This property will be ignored unless Source is set to dwnsCustom.


----------------------------------------------------------------------------------------------------
TJvTFDWNames.DWN_Thursday
TJvTFDWNames	See also
property DWN_Thursday: String;
Description
Specify a custom day of week display name in this property. This property will be ignored unless Source is set to dwnsCustom.


----------------------------------------------------------------------------------------------------
TJvTFDWNames.DWN_Tuesday
TJvTFDWNames	See also
property DWN_Tuesday: String;
Description
Specify a custom day of week display name in this property. This property will be ignored unless Source is set to dwnsCustom.


----------------------------------------------------------------------------------------------------
TJvTFDWNames.DWN_Wednesday
TJvTFDWNames	See also
property DWN_Wednesday: String;
Description
Specify a custom day of week display name in this property. This property will be ignored unless Source is set to dwnsCustom.


----------------------------------------------------------------------------------------------------
TJvTFDWNames.Source
TJvTFDWNames	See also
property Source: TJvTFDWNameSource default dwnsSysShort;
Description
Specifies where the display names of the days of the week are retrieved from. See TJvTFDWNameSource for more info.
----------------------------------------------------------------------------------------------------
TJvTFFrameAttr
Events
Unit
JvTFGlance
Description
This class allows you to customize the appearance of a frame. This class is used by several published properties which allow you to customize the appearance of a JTF control.

----------------------------------------------------------------------------------------------------
TJvTFFrameAttr.OnChange
TJvTFFrameAttr
property OnChange: TNotifyEvent;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFFrameAttr.Create
TJvTFFrameAttr
constructor Create(AOwner: TJvTFControl );
Description
You should never have to manually create this object.

----------------------------------------------------------------------------------------------------
TJvTFFrameAttr.Color
TJvTFFrameAttr	See also
property Color: TColor default clBlack;
Description
Specifies the color of the frame when Style = fsFlat.

----------------------------------------------------------------------------------------------------
TJvTFFrameAttr.Control
TJvTFFrameAttr
property Control: TJvTFControl;
Description
Points to the JTF control that 'owns' the object.

----------------------------------------------------------------------------------------------------
TJvTFFrameAttr.Style
TJvTFFrameAttr	See also
property Style: TJvTFFrameStyle default fsFlat;
Description
Specifies how the frame will be drawn. See TJvTFFrameStyle for the possible values.

----------------------------------------------------------------------------------------------------
TJvTFFrameAttr.Width
TJvTFFrameAttr	See also
property Width: Integer default 1;
Description
Specifies the width of the frame when Style = fsFlat.
----------------------------------------------------------------------------------------------------
TJvTFFrameStyle

Unit
JvTFGlance
TJvTFFrameStyle=( fs3DRaised, fs3DLowered, fsFlat, fsNone);
Description
Value		Meaning
fs3DRaised	Frame will be drawn with a raised effect
fs3DLowered	Frame will be drawn with a lowered effect
fsFlat		Frame will be drawn with no 3D effects
fsNone		Frame will not be drawn

----------------------------------------------------------------------------------------------------
TJvTFGlance
Events
Unit
JvTFGlance
Description
The TJvTFGlance class is derived from TJvTFCustomGlance and publishes some properties which allow you to configure the control in any manner you see fit.
----------------------------------------------------------------------------------------------------
TJvTFGlanceSelOrder

Unit
JvTFGlance
TJvTFGlanceSelOrder=( soColMajor, soRowMajor, soRect);
Description
Value		Meaning
soColMajor	Columns will be selected before rows, giving a 'vertical' type of selection
soRowMajor	Rows will be selected before columns, giving a 'horizontal' type of selection
soRect		Selection will be made in a rectangle, giving a spreadsheet type of selection

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr

Unit
JvTFGlance
Description
This class allows you to customize the appearance of the cell titles found in a Glance control.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.Create
TJvTFGlanceTitleAttr
constructor Create(AOwner: TJvTFCustomGlance );
Description
You should never have to manually create this object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.Align
TJvTFGlanceTitleAttr	See also
property Align: TJvTFTitleAlign default alTop;
Description
This property specifies where the cell title will be drawn in relation to the rest of the cell; top, right, bottom, left.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.Color
TJvTFGlanceTitleAttr
property Color: TColor default clBtnFace;
Description
This property specifies the background color (shade) of the cell title.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.DayTxtAttr
TJvTFGlanceTitleAttr	See also
property DayTxtAttr: TJvTFTextAttr;
Description
This property allows you to customize how text is drawn in the cell title. See TJvTFTextAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.FrameAttr
TJvTFGlanceTitleAttr	See also
property FrameAttr: TJvTFGlanceFrameAttr;
Description
This property allows you to customize how the frame (border) of the cell title is drawn. See TJvTFGlanceFrameAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.GlanceControl
TJvTFGlanceTitleAttr
property GlanceControl: TJvTFCustomGlance;
Description
Points to the Glance control that 'owns' the TJvTFGlanceTitleAttr object.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.Height
TJvTFGlanceTitleAttr	See also
property Height: Integer default 20;
Description
Specifies the height of the cell title. (If the Align property is alLeft or alRight, this property then specifies the width of the cell title.)

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.PicAttr
TJvTFGlanceTitleAttr	See also
property PicAttr: TJvTFGlanceTitlePicAttr;
Description
This property allows you to customize the appearance of images in the cell title. See TJvTFGlanceTitlePicAttr for more info.

----------------------------------------------------------------------------------------------------
TJvTFGlanceTitleAttr.Visible
TJvTFGlanceTitleAttr
property Visible: Boolean default True;
Description
Controls the visibility of the cell title.
----------------------------------------------------------------------------------------------------
TJvTFHint
Events
Unit
JvTFServer
Description
The TJvTFHint component provides hint functionality to JvTFControls. It is used internally and under normal circumstances you should never have to work with this component.



----------------------------------------------------------------------------------------------------
TJvTFHint.OnShowHint
TJvTFHint
property OnShowHint: TJvTFShowHintEvent;
Description
This event will be fired when a hint window becomes visible.



----------------------------------------------------------------------------------------------------
TJvTFHint.ApptHint
TJvTFHint
procedure ApptHint(Appt: TJvTFAppt; X, Y: Integer; ShowDatesTimes, ShowDesc, FormattedDesc: Boolean );
Description
This method will cause a specially formatted hint to show. The hint will display the appointment's description and start/end info according to the values of the ShowDatesTimes and ShowDesc properties. If FormattedDesc is True, CRs and LFs (linebreaks) will be preserved, otherwise they will be removed to minimize the size of the hint window.

The hint will appear at location (X, Y) (relative to the control).



----------------------------------------------------------------------------------------------------
TJvTFHint.CellHint
TJvTFHint
procedure CellHint(Row, Col: Integer; HintText: String; CellRect: TRect );
Description
The CellHint method will display a hint window specific to the cell given by Row and Col. HintText is the text that will be displayed and the hint window will appear center in the rect given by CellRect (control coordinates).


----------------------------------------------------------------------------------------------------
TJvTFHint.Create
TJvTFHint
constructor Create(anApptCtrl: TJvTFControl );
Description
Under normal circumstances you should not manually create a TJvTFHint component.



----------------------------------------------------------------------------------------------------
TJvTFHint.MultiLineObjHint
TJvTFHint
procedure MultiLineObjHint(Obj: TObject; X, Y: Integer; Hints: TStrings );
Description
This method will show a hint window given multiple lines of text (Hints).

----------------------------------------------------------------------------------------------------
TJvTFHint.ReleaseHandle
TJvTFHint
procedure ReleaseHandle;
Description
Call ReleaseHandle to make a visible hint window disappear.



----------------------------------------------------------------------------------------------------
TJvTFHint.StartEndHint
TJvTFHint
procedure StartEndHint(StartDate, EndDate: TDate; StartTime, EndTime: TTime; X, Y: Integer; ShowDates: Boolean );
Description
Call the StartEndHint method to display start/end information. The window will appear at control position (X, Y). The StartDate and EndDate will only be shown if ShowDates is true. The hint will appear immediately on the screen, ignoring the ShortPause property.



----------------------------------------------------------------------------------------------------
TJvTFHint.HintType
TJvTFHint
property HintType: TJvTFHintType;
Description
Returns the type of hint that is showing. See TJvTFHintType for more information.



----------------------------------------------------------------------------------------------------
TJvTFHint.Pause
TJvTFHint
property Pause: Integer default 3000;
Description
Determines how many milliseconds that hint window will remain visible.



----------------------------------------------------------------------------------------------------
TJvTFHint.RefProps
TJvTFHint
property RefProps: TJvTFHintProps;
Description
This property holds a pointer to an instance of a TJvTFHintProps object. If this property is not nil, TJvTFHint will reference the TJvTFHintProps object in order to set specific properties of the JTF hint window. These properties include HintColor, HintPause, and HintHidePause.


----------------------------------------------------------------------------------------------------
TJvTFHint.ShortPause
TJvTFHint
property ShortPause: Integer default 1500;
Description
Determines how many milliseconds will lapse before the hint will be shown.
----------------------------------------------------------------------------------------------------
TJvTFHintClass

Unit
JvTFServer
TJvTFHintClass=class of TJvTFHint;
Description
Specifies an exact class of TJvTFHint.

----------------------------------------------------------------------------------------------------
TJvTFHintProps

Unit
JvTFServer
Description
The TJvTFHintProps object allows you to control certain properties of a TJvTFHint window. These properties include HintColor, HintPause, and HintHidePause.



----------------------------------------------------------------------------------------------------
TJvTFHintProps.Create
TJvTFHintProps
constructor Create(AOwner: TJvTFControl );
Description
You will usually access this object as a property of some component, therefore it is unlikely that you will ever have to manually create this object.



----------------------------------------------------------------------------------------------------
TJvTFHintProps.HintColor
TJvTFHintProps
property HintColor: TColor default clDefault;
Description
This property controls the color of the Hint window. If this property is set to clDefault, the color of the Hint window will be set to application's hint color (specified by Application.HintColor).


----------------------------------------------------------------------------------------------------
TJvTFHintProps.HintHidePause
TJvTFHintProps
property HintHidePause: Integer default - 1;
Description
This property specifies the amount of time, in milliseconds, that the Hint window will be visible on the screen. If this property is set to -1, the Hint window will refer to the application's HintHidePause property.


----------------------------------------------------------------------------------------------------
TJvTFHintProps.HintPause
TJvTFHintProps
property HintPause: Integer default - 1;
Description
This property specifies the amount of time, in milliseconds, that will elapse before the Hint window is shown. If this property is set to -1, the Hint window will refer to the application's HintPause property.
----------------------------------------------------------------------------------------------------
TJvTFHintType

Unit
JvTFServer
TJvTFHintType=( shtAppt, shtStartEnd, shtCell, shtObj);
Description
Represents the different type s of JTF hints.



----------------------------------------------------------------------------------------------------
TJvTFMonths
Events
Unit
JvTFMonths


----------------------------------------------------------------------------------------------------
TJvTFMonths.OnDrawDWTitle
TJvTFMonths
property OnDrawDWTitle: TJvTFDrawDWTitleEvent;
Description
This event is fired immediately after a day of week title has been rendered, but before it has been committed to the control's canvas. Use this event to include custom drawing if needed.

JTF buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFMonths.OnUpdateTitle
TJvTFMonths
property OnUpdateTitle: TJvTFUpdateTitleEvent;
Description
This event is fired when the control is about to update the text of the main title. You can use this event to 'override' the default title text and specify your own text.

----------------------------------------------------------------------------------------------------
TJvTFMonths.CellIsExtraDay
TJvTFMonths
function CellIsExtraDay(aCell: TJvTFGlanceCell ): Boolean;
Description
Returns True if aCell is "extra" day, e.g. June 30 if JvTFMonths is displaying the month of July.

----------------------------------------------------------------------------------------------------
TJvTFMonths.CellIsOffDay
TJvTFMonths	See also
function CellIsOffDay(aCell: TJvTFGlanceCell ): Boolean;
Description
Returns True is the day of week of aCell is found in the OffDays property, False otherwise.

TJvTFMonths.DOWShowing
TJvTFMonths
function DOWShowing(DOW: TDayOfWeek ): Boolean;
Description
Returns True if the given day of the week (DOW) is shown in the control, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFMonths.GetCellAttr
TJvTFMonths	See also
function GetCellAttr(aCell: TJvTFGlanceCell ): TJvTFGlanceCellAttr;
Description
This function will return the cell attributes for the cell specified by aCell.

Since a given cell may actually qualify for more than one set of attributes, cell attribute precedence rules have been established. The order of precedence is (from highest to lowest):
	Selected		(SelCellAttr)
	ExtraDay		(ExtraDayCellAttr)
	OffDay		(OffDayCellAttr)
	Normal		(CellAttr)

----------------------------------------------------------------------------------------------------
TJvTFMonths.ScrollNext
TJvTFMonths	See also
procedure ScrollNext;
Description
This method will scroll the control forward by one week or one month, depending on the value of the ScrollSize property

----------------------------------------------------------------------------------------------------
TJvTFMonths.ScrollPrev
TJvTFMonths	See also
procedure ScrollPrev;
Description
This method will scroll the control backward by one week or one month, depending on the value of the ScrollSize property


----------------------------------------------------------------------------------------------------
TJvTFMonths.DisplayDate
TJvTFMonths	See also
property DisplayDate: TDate;
Description
Use this property to ensure that the specified date will be displayed in the control.

----------------------------------------------------------------------------------------------------
TJvTFMonths.DWNames
TJvTFMonths	See also
property DWNames: TJvTFDWNames;
Description
Use this property to specify the display names of the days of the week. See TJvTFDWNames for more info.


----------------------------------------------------------------------------------------------------
TJvTFMonths.DWTitleAttr
TJvTFMonths	See also
property DWTitleAttr: TJvTFGlanceTitle;
Description
Use this property to customize the appearance of the day of week titles. See TJvTFGlanceTitle for more info.


----------------------------------------------------------------------------------------------------
TJvTFMonths.ExtraDayCellAttr
TJvTFMonths	See also
property ExtraDayCellAttr: TJvTFGlanceCellAttr;
Description
Use this property to customize the appearance of cells that display 'extra' days. An example of an extra day is June 30 when JvTFMonths is displaying the month of July.

----------------------------------------------------------------------------------------------------
TJvTFMonths.Month
TJvTFMonths	See also
property Month: Word;
Description
Use this property to specify the month that is displayed. Value values are 1 through 12.

----------------------------------------------------------------------------------------------------
TJvTFMonths.OffDayCellAttr
TJvTFMonths	See also
property OffDayCellAttr: TJvTFGlanceCellAttr;
Description
Use this property to customize the appearance of 'off' days. Off days are defined by the OffDays property.

----------------------------------------------------------------------------------------------------
TJvTFMonths.OffDays
TJvTFMonths	See also
property OffDays: TDaysOfWeek default [ dowSunday, dowSaturday ];
Description
Use this property to specify off days. The appearance of off days is controlled by the OffDayCellAttr property.

----------------------------------------------------------------------------------------------------
TJvTFMonths.ScrollSize
TJvTFMonths	See also
property ScrollSize: TJvTFMonthsScrollSize default mssMonth;
Description
This property controls that amount of time that is scrolled when ScrollNext or ScrollPrev is called.

----------------------------------------------------------------------------------------------------
TJvTFMonths.SplitSatSun
TJvTFMonths
property SplitSatSun: Boolean default False;
Description
If True, the control will split the Saturday cell to show Sunday as well. If False, Saturday and Sunday will be displayed in their own cells.

----------------------------------------------------------------------------------------------------
TJvTFMonths.Year
TJvTFMonths	See also
property Year: Word;
Description
Use this property to change only the year that is displayed.
----------------------------------------------------------------------------------------------------
TJvTFNavEvent

Unit
JvTFServer
TJvTFNavEvent =procedure( Sender: TObject; aControl: TJvTFControl; SchedNames: TStringList; Dates: TJvTFDateList )of object;
Description
This event type is used for OnNavigate events in various JTF controls. aControl will be the control whose information initially changed which caused the navigator to fire the event. SchedNames will contain a list of SchedNames from aControl. Dates will contain a list of dates from aControl.

----------------------------------------------------------------------------------------------------
TJvTFNavigator
See Also
Unit
JvTFServer
Description
The JvTFNavigator component allows you to synchronize the navigation of the JvTFControls. Drop a JvTFNavigator onto a form and set the Navigator property of each Control to the navigator component. JTF should take care of the rest.

----------------------------------------------------------------------------------------------------
TJvTFNavigator.AfterNavigate
TJvTFNavigator	See also
property AfterNavigate: TJvTFNavEvent;
Description
This event is fired after the navigator has sent sent navigation commands to each control that is connected to it.

----------------------------------------------------------------------------------------------------
TJvTFNavigator.BeforeNavigate
TJvTFNavigator	See also
property BeforeNavigate: TJvTFNavEvent;
Description
This event is fired before the navigator send navigation commands to the controls that it is connected to.

----------------------------------------------------------------------------------------------------
TJvTFNavigator.ControlCount
TJvTFNavigator	See also
function ControlCount: Integer;
Description
Returns the number of JTF controls that are connected to the navigator.

TJvTFNavigator.Navigate
TJvTFNavigator
procedure Navigate(aControl: TJvTFControl; SchedNames: TStringList; Dates: TJvTFDateList );
Description
This method causes the navigator to send a navigation command to each control connected to it. aControl specifies the Control that initiated the navigation. SchedNames contains a list of SchedNames from aControl. Dates contains a list of dates from aControl.

Normally this method is called internally by one of the JTF controls.

----------------------------------------------------------------------------------------------------
TJvTFNavigator.Controls
TJvTFNavigator	See also
property Controls [ Index: Integer ]: TJvTFControl;
Description
Allows access to each Control connected to the navigator.

----------------------------------------------------------------------------------------------------
TJvTFNavigator.Navigating
TJvTFNavigator
property Navigating: Boolean;
Description
Returns True if the navigator is in the process of sending navigation commands to the connected controls, False otherwise.
----------------------------------------------------------------------------------------------------
TJvTFPrinter
Events
Unit
JvTFServer
Description
The TJvTFPrinter class is the base case for all printing components in the JTF system.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.OnAssembleProgress
TJvTFPrinter	See also
property OnAssembleProgress: TJvTFProgressEvent;
Description
This event will fire after each page has been assembled. (The assemble process takes the header, body, and footer as seperate images and combines them into one page image.) Use this event to update a progress window or something of that sort. See TJvTFProgressEvent for more details.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.OnDrawBody
TJvTFPrinter	See also
property OnDrawBody: TJvTFPrinterDrawEvent;
Description
This event fires after the Printer has drawn the body of a page. This event allows you do to any custom drawing on the body that you might need to do. See TJvTFPrinterDrawEvent for complete descriptions of the parameters.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.OnDrawFooter
TJvTFPrinter	See also
property OnDrawFooter: TJvTFPrinterDrawEvent;
Description
This event fires after Printer has drawn the footer. This event allows you to do any custom drawing on the footer that you might need to do. See TJvTFPrinterDrawEvent for a complete description of the parameters.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.OnDrawHeader
TJvTFPrinter	See also
property OnDrawHeader: TJvTFPrinterDrawEvent;
Description
This event fires after Printer has drawn the page header. Use this event to do any custom drawing on the header that you might need to do. See TJvTFPrinterDrawEvent for complete descriptions of the parameters.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.OnMarginError
TJvTFPrinter	See also
property OnMarginError: TNotifyEvent;
Description
This event fires if the MarginLeft, MarginRight, MarginTop, or MarginBottom property specifies a value that causes the margin to fall in the unprintable area of the page. The unprintable area is hardware dependent and varies from printer to printer.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.OnPrintProgress
TJvTFPrinter	See also
property OnPrintProgress: TJvTFProgressEvent;
Description
This event fires after each page has been sent to Windows to print. You can use this event to update a progress window or status bar. See TJvTFProgressEvent for more details.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.AbortPrint
TJvTFPrinter	See also
procedure AbortPrint;
Description
Call this method to abort a print job that is currently being sent to Windows to print (via the Print method).



----------------------------------------------------------------------------------------------------
TJvTFPrinter.ConvertMeasure
TJvTFPrinter	See also
function ConvertMeasure(Value: Integer; FromMeasure, ToMeasure: TJvTFPrinterMeasure; Horizontal: Boolean ): Integer;
Description
Use this method to convert a value (Value) from one unit of measure (FromMeasure) to another (ToMeasure). Set Horizontal to true if Value is some horizontal measurement.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.CreateDoc
TJvTFPrinter	See also
procedure CreateDoc;
Description
This method creates a new document and prepares Printer to begin rendering a new document. An EJvTFPrinterError exception will be raised if State <> spsNoDoc. A successful call to CreateDoc changes State to spsCreating.

----------------------------------------------------------------------------------------------------
TJvTFPrinter.FinishDoc
TJvTFPrinter	See also
procedure FinishDoc;
Description
This method will finish rendering the document so that it can be sent to the printer. If DirectPrint is True , this method will send the finished document to the printer. If DirectPrint is False , this method will render the header and footer, firing OnDrawHeader and OnDrawFooter once for each page in the document.

An EJvTFPrinterError will be raised if State <> spsCreating. A successful call to FinishDoc will change State to spsFinished. If DirectPrint is False, you will be able to access each page image via the Pages property after FinishDoc has been called.

----------------------------------------------------------------------------------------------------
TJvTFPrinter.FreeDoc
TJvTFPrinter	See also
procedure FreeDoc;
Description
When you are finished with a document, call FreeDoc to remove the document from memory and release any resources allocated by the document. Printer will take care of this for you if you forget to call FreeDoc, so you don't have to worry about resource leaks. A successful call to Free changes State to spsNoDoc.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.NewDoc
TJvTFPrinter	See also
procedure NewDoc;
Description
Calling this method guarantees that the Printer will be ready to render a new document. It does so by first calling FreeDoc to clean up an existing document. It then calls CreateDoc to create a document.

----------------------------------------------------------------------------------------------------
TJvTFPrinter.NewPage
TJvTFPrinter	See also
procedure NewPage;
Description
This method creates a new page and allows Printer to render the new page. The body of the page is rendered first, which causes the OnDrawBody event to be fired.

If DirectPrint is True, the header and footer is also rendered at this time, causing OnDrawHeader and OnDrawFooter to be fired. If DirectPrint is False, the header and footer will not be rendered until FinishDoc is called.

----------------------------------------------------------------------------------------------------
TJvTFPrinter.Print
TJvTFPrinter	See also
procedure Print;
Description
If DirectPrint is False, you can call the Print method to send a finished document to Windows to print. An EJvTFPrinterError will be raised if the component is in any State other than spsFinished.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.PrinterToScreen
TJvTFPrinter	See also
function PrinterToScreen(Value: Integer; Horizontal: Boolean ): Integer;
Description
Use this method to change a value (Value) from printer measurement to screen measurement. For example, a one-inch line may be 300 pixels (printer resolution = 300 dpi), but a 300 pixel line on the screen probably would be much longer than one inch. Set Horizontal to True if Value is a horizontal measurement.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.SaveDocToFiles
TJvTFPrinter	See also
procedure SaveDocToFiles(BaseFileName: TFileName );
Description
Use this method to save each of the page images as seperate emf files. Printer will append an underscore "_" and the page number, along with the emf extension to each file it saves. For example, if there are three pages and you set BaseFileName to "c:\simpl\schedule" the following files will be produced:
	c:\simpl\schedule_1.emf
	c:\simpl\schedule_2.emf
	c:\simpl\schedule_3.emf

You can access each page as a TMetafile via the Pages property.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.ScreenToPrinter
TJvTFPrinter	See also
function ScreenToPrinter(Value: Integer; Horizontal: Boolean ): Integer;
Description
Use this method to change a value (Value) from screen measurement to printer measurement. For example, a one-inch line may be 300 pixels (printer resolution = 300 dpi), but a 300 pixel line on the screen probably would be much longer than one inch. Set Horizontal to True if Value is a horizontal measurement.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.Aborted
TJvTFPrinter	See also
property Aborted: Boolean;
Description
Will be True if the printing process has been aborted, False otherwise.

----------------------------------------------------------------------------------------------------
TJvTFPrinter.ConvertingProps
TJvTFPrinter	See also
property ConvertingProps: Boolean;
Description
This property will be true if the component is in the process of converting the units of measure of various properties due to a change in the Measure property.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.DirectPrint
TJvTFPrinter	See also
property DirectPrint: Boolean;
Description
Use this property to control the printing model that the Printer uses. See Using TJvTFPrinter for more info.

----------------------------------------------------------------------------------------------------
TJvTFPrinter.DocDateTime
TJvTFPrinter
property DocDateTime: TDateTime;
Description
This property will hold the date and time when the document was composed.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.Measure
TJvTFPrinter	See also
property Measure: TJvTFPrinterMeasure default pmInches;
Description
Use this property to specify which unit of measure you want to work with. You can change this property at any time and all measurement related properties will be automatically converted to the new unit of measure.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.PageCount
TJvTFPrinter
property PageCount: Integer;
Description
This property will return the page count of the document. An EJvTFPrinterError exception will be raised if you attempt to read this property when the State = spsNoDoc .


----------------------------------------------------------------------------------------------------
TJvTFPrinter.PageLayout
TJvTFPrinter	See also
property PageLayout: TJvTFPrinterPageLayout;
Description
Use this property to specify various aspects of how the pages are laid out on paper, such as margins. See TJvTFPrinterPageLayout for more details.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.Pages
TJvTFPrinter	See also
property Pages [ Index: Integer ]: TMetafile;
Description
You can access each page in the document through the pages property. Each page is stored internally as a TMetafile that you can have direct access to.



----------------------------------------------------------------------------------------------------
TJvTFPrinter.State
TJvTFPrinter	See also
property State: TJvTFPrinterState;
Description
Describes the current state of the printer component. See TJvTFPrinterState for more information.


----------------------------------------------------------------------------------------------------
TJvTFPrinter.Title
TJvTFPrinter
property Title: String;
Description
Use this property to specify the title of the document. This string will be sent to Windows as the title of the document when it is sent to a printer. (This is what will display in Print Manager.)

----------------------------------------------------------------------------------------------------
TJvTFPrinterDrawEvent

Unit
JvTFServer
TJvTFPrinterDrawEvent=procedure( Sender: TObject; aCanvas: TCanvas; aRect: TRect; PageNum: Integer )of object;
Description
Sender is the object that fired the event. aCanvas provides a canvas for you to do any custom drawing on. aRect provides a bounding rectangle for your drawing. PageNum is set to the page that the event is being fired for.


----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout
See also
Unit
JvTFServer
Description
You use the TJvTFPrinterPageLayout class to access specific properties (i.e. margins) related to the layout of a printed page. Normally you will access this property through the TJvTFPrinter.PageLayout property.



----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout.Create
TJvTFPrinterPageLayout
constructor Create(aJvTFPrinter: TJvTFPrinter );
Description
Since this object is implemented as the TJvTFPrinter.PageLayout property, you should never have to create this object yourself.



----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout.FooterHeight
TJvTFPrinterPageLayout	See also
property FooterHeight: Integer;
Description
Specifies the height of the page footer. This value is in units specified by the TJvTFPrinter.Measure property.


----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout.HeaderHeight
TJvTFPrinterPageLayout	See also
property HeaderHeight: Integer;
Description
Specifies the height of the page header. This value is in units specified by the TJvTFPrinter.Measure property.



----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout.MarginBottom
TJvTFPrinterPageLayout	See also
property MarginBottom: Integer index 4;
Description
Specifies the height of the bottom margin. This value is in units specified by the TJvTFPrinter.Measure property.


----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout.MarginLeft
TJvTFPrinterPageLayout	See also
property MarginLeft: Integer index 1;
Description
Specifies the width of the left margin. This value is in units specified by the TJvTFPrinter.Measure property.



----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout.MarginRight
TJvTFPrinterPageLayout	See also
property MarginRight: Integer index 3;
Description
Specifies the width of the right margin. This value is in units specified by the TJvTFPrinter.Measure property.



----------------------------------------------------------------------------------------------------
TJvTFPrinterPageLayout.MarginTop
TJvTFPrinterPageLayout	See also
property MarginTop: Integer index 2;
Description
Specifies the height of the top margin. This value is in units specified by the TJvTFPrinter.Measure property.
----------------------------------------------------------------------------------------------------
TJvTFPrinterState

Unit
JvTFServer
TJvTFPrinterState=( spsNoDoc, spsCreating, spsAssembling, spsFinished);
Description
TJvTFPrinterState defines the possible states of a TJvTFPrinter component.

spsNoDoc
No document exists.

spsCreating
A document is being created. This is the state of the printer when NewPage can be called and page bodies can be drawn.

spsAssembling
The component is firing the OnDrawHeader and OnDrawFooter events for each body and placing the header, body, and footer onto a finished page. The assembling process is started by a call to FinishDoc.

spsFinished
A complete document exists and is now ready to be sent to a printer or saved to a file.



----------------------------------------------------------------------------------------------------
TJvTFSched
See also
Unit
JvTFServer
Description
A TJvTFSched object represents a schedule (a schedule name and date). The server completely maintains its schedule objects so you shouldn't have to worry about their creation, destruction, or the relationships with other objects.

Although a schedule object does not physically contain appointments (that's the server's job), it does logically group the appointments. That is its main function. Because of this, you can use a schedule object to retrieve a list of the appointments that are logically "contained" by the schedule, operate on the appointments, and add or remove appointments at the schedule level. You can also retrieve basic information about the schedule, such as its name and date.



----------------------------------------------------------------------------------------------------
TJvTFSched.AddAppt
TJvTFSched	See also
procedure AddAppt(Appt: TJvTFAppt );
Description
This method will add the given appointment to the schedule.



----------------------------------------------------------------------------------------------------
TJvTFSched.ApptByID
TJvTFSched	See also
function ApptByID(ID: String ): TJvTFAppt;
Description
This will return an appointment object with the given ID. If an appointment with the given ID is not found in the schedule, it will return nil.



----------------------------------------------------------------------------------------------------
TJvTFSched.ApptCount
TJvTFSched	See also
function ApptCount: Integer;
Description
Returns the number of appointments that fall in the schedule.



----------------------------------------------------------------------------------------------------
TJvTFSched.ApptHasConflicts
TJvTFSched	See also
function ApptHasConflicts(anAppt: TJvTFAppt ): Boolean;
Description
This method will return True if any other appointments conflict with anAppt, False otherwise.

This method only checks for conflicts in the schedule from which it is invoked.

This method is NOT available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TJvTFSched.ConComponentCount
TJvTFSched	See also
function ConComponentCount: Integer;
Description
Returns the number of JvTFComponents that are connected to the schedule object. Use the ConControlCount method to get the number of JvTFControls that are connected to the schedule object.

[This method supersedes the ControlCount method as of version 1.1 of the server.]



----------------------------------------------------------------------------------------------------
TJvTFSched.ConControlCount
TJvTFSched	See also
function ConControlCount: Integer;
Description
Returns the number of JvTFControls that are connected to the TJvTFSched object. Use the ConComponentCount method to get the number of JvTFComponents that are connected to the schedule object.

[This method supersedes the ControlCount method as of version 1.1 of the server.]



----------------------------------------------------------------------------------------------------
TJvTFSched.Create
TJvTFSched
constructor Create(Serv: TJvTFScheduleManager; aName: String; aDate: TDate );
Description
You should not have to manually create a schedule object. The server will handle this for you. If you do manually create a schedule object, you must specify the server that will maintain the object, a name for the schedule (resource name), and the date the schedule represents.


----------------------------------------------------------------------------------------------------
TJvTFSched.EnumConflicts
TJvTFSched	See also
function EnumConflicts(TimeRange: TJvTFTimeRange): TDynApptArray; overload; dynamic;

function EnumConflicts(RangeStart, RangeEnd: TTime): TDynApptArray; overload; dynamic;

function EnumConflicts(anAppt: TJvTFAppt): TDynApptArray; overload; dynamic;
Description
EnumConflicts will return a dynamic array populated with all the TJvTFAppt's that conflict with the time range given or the appointment given. It is not advised to retain the array for use at a later time due to the fact that the caching system may destroy one or more of the appt objects contained in the result (thus leaving one or more dangling pointers).

These methods only check for conflicts in the schedule from which they are invoked.

These methods are NOT available in the Delphi 3 version of JTF.


----------------------------------------------------------------------------------------------------
TJvTFSched.GetFirstAppt
TJvTFSched	See also
function GetFirstAppt: TJvTFAppt;
Description
This method will return the earliest appointment in the schedule. (End times are ignored.)



----------------------------------------------------------------------------------------------------
TJvTFSched.GetFreeTime
TJvTFSched	See also
function GetFreeTime: TDynTimeRangeArray;
Description
This method will return a dynamic array that contains zero or more TJvTFTimeRange's that represent the free time available in the schedule.

This method only checks the time in the schedule from which it is invoked.

This method is NOT available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TJvTFSched.GetLastAppt
TJvTFSched	See also
function GetLastAppt: TJvTFAppt;
Description
Returns the latest appointment in the schedule. (Start times are ignored.)



----------------------------------------------------------------------------------------------------
TJvTFSched.GetUsedTime
TJvTFSched	See also
function GetUsedTime: TDynTimeRangeArray;
Description
This method will return a dynamic array that contains zero or more TJvTFTimeRange's that represent the time that is used in the schedule.

This method only checks the time in the schedule from which it is invoked.

This method is NOT available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TJvTFSched.PostAppts
TJvTFSched
procedure PostAppts;
Description
Call this method to post all of the appointments contained in the schedule.



----------------------------------------------------------------------------------------------------
TJvTFSched.Refresh
TJvTFSched	See also
procedure Refresh;
Description
Call this method to refresh all of the appointments linked to the schedule. This method simply calls TJvTFScheduleManager.dbRefreshSched and is provided in this form as a convenience when working with schedule objects.



----------------------------------------------------------------------------------------------------
TJvTFSched.RemoveAppt
TJvTFSched	See also
procedure RemoveAppt(Appt: TJvTFAppt );
Description
Use this method to remove the given appointment from the schedule.



----------------------------------------------------------------------------------------------------
TJvTFSched.TimeIsFree
TJvTFSched	See also
function TimeIsFree(TimeRange: TJvTFTimeRange ): Boolean;
Description
TimeIsFree will return True if there are not any appointments that fall in the given time range, False otherwise.

This method only checks the time in the schedule from which it is invoked.

This method is NOT available in the Delphi 3 version of JTF.



----------------------------------------------------------------------------------------------------
TJvTFSched.Appts
TJvTFSched	See also
property Appts [ Index: Integer ]: TJvTFAppt;
Description
Use the Appts property to retrieve each appointment object that is a member of the schedule.
----------------------------------------------------------------------------------------------------
TJvTFSched.Cached
TJvTFSched
property Cached: Boolean;
Description
Cached will be true if the schedule object is no longer used by any of the controls that are connected to the server, false otherwise. A cached schedule object is queued to be flushed from memory by the caching system.
----------------------------------------------------------------------------------------------------
TJvTFSched.CachedTime
TJvTFSched
property CachedTime: DWORD;
Description
This property will return the Windows tick count when the object was initially queued to be flushed from memory. (The value of this property should be ignored if Cached = False.)


----------------------------------------------------------------------------------------------------
TJvTFSched.ConComponents
TJvTFSched	See also
property ConComponents [ Index: Integer ]: TJvTFComponent;
Description
This property provides access to each of the JvTFComponents that are connected to the schedule object. Use the ConControls property to access the JvTFControls that are connected to the schedule object.

[This property supersedes the Controls property as of version 1.1 of the server.]



----------------------------------------------------------------------------------------------------
TJvTFSched.ConControls
TJvTFSched	See also
property ConControls [ Index: Integer ]: TJvTFControl;
Description
Provides access to each of the JvTFControls that are connected to the schedule object. The ConComponents property holds a reference to each of the JvTFComponents that are connected to the schedule object.

[This property supersedes the Controls property as of version 1.1 of the server.]



----------------------------------------------------------------------------------------------------
TJvTFSched.Data
TJvTFSched	See also
property Data: Integer;
Description
Use the Data property to attach custom data to the schedule object.

You will most likely create a TObject to store extra information, in which case you would need to typecast this property into a TObject. It has been implemented as an integer for additional flexibility. If you do use a TObject to store custom data, you probably will want to use the TJvTFScheduleManager.OnCreateSchedule and TJvTFScheduleManager.OnDestroySchedule events to create and destroy your custom object.


----------------------------------------------------------------------------------------------------
TJvTFSched.Destroying
TJvTFSched
property Destroying: Boolean;
Description
This property will return True if the schedule object is in the process of being destroyed.



----------------------------------------------------------------------------------------------------
TJvTFSched.Persistent
TJvTFSched
property Persistent: Boolean;
Description
If Persistent is set to True, the caching system will not flush the object from memory.


----------------------------------------------------------------------------------------------------
TJvTFSched.SchedDate
TJvTFSched	See also
property SchedDate: TDate;
Description
Returns the date of the schedule.



----------------------------------------------------------------------------------------------------
TJvTFSched.SchedDisplayName
TJvTFSched	See also
property SchedDisplayName: String;
Description
Use this property to specify a friendly name of the schedule. If this property is null, JTF will use the value of the SchedName property as the display name for the schedule. (This property comes in handy if you wish to use the SchedName property for a unique identifier and yet display a user-friendly name.)

----------------------------------------------------------------------------------------------------
TJvTFSched.SchedName
TJvTFSched	See also
property SchedName: String;
Description
Returns the name of the schedule. (Also known as the resource name.)

If you wish to use the SchedName property to hold a unique identifier you should use the SchedDisplayName property to specify a user-friendly display name.



----------------------------------------------------------------------------------------------------
TJvTFSched.Server
TJvTFSched	See also
property Server: TJvTFScheduleManager;
Description
Points to the server that contains the schedule object.

----------------------------------------------------------------------------------------------------
TJvTFSchedClass

TJvTFSchedClass=class of TJvTFSched;
Description
Specifies an exact class of TJvTFSched.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager
See Also
Unit
JvTFServer
Description
The TJvTFScheduleManager component is the heart of the JTF suite. It provides a centralized source of data for multiple JTF Controls. It stores schedule and appointment objects and manages all relationships between them. The server provides many methods and events to its connected controls, embedded schedule and appointment objects, and you that allow objects, relationships, and communication to take place without the caller needing to worry about the low-level details and implications of the action.

You use the server to implement several things. These include reading/writing data to/from disk, adding new appointments, setting caching options, and so on.

All JTF Controls will communicate with the server. The controls tell the server when to load, unload, and change schedule and appointment data and the server executes those commands.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnBatchesProcessed
TJvTFScheduleManager	See also
property OnBatchesProcessed: TNotifyEvent;
Description
This event will fire after OnLoadBatch has been called for each batch that must be loaded. Please see Batch Loading for more information.

NOTE: THIS EVENT WILL NOT FIRE UNLESS SchedLoadMode IS SET TO slmBatch.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnCreateAppt
TJvTFScheduleManager	See also
property OnCreateAppt: TJvTFApptEvent;
Description
This event is fired when the server creates an appointment object. This is especially handy if you will be attaching custom data to the appointment via a custom object. It provides a place for you to create your custom object.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnCreateSchedule
TJvTFScheduleManager	See also
property OnCreateSchedule: TJvTFSchedEvent;
Description
This event is fired when the server creates a schedule object. This is especially handy if you will be attaching custom data to the schedule via a custom object. It provides a place for you to create your custom object.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnDeleteAppt
TJvTFScheduleManager	See also
property OnDeleteAppt: TJvTFApptEvent;
Description
This event is fired when an appointment is being removed from the system. You need to provide code behind this event that will remove the appointment data from your physical storage implementation.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnDestroyAppt
TJvTFScheduleManager	See also
property OnDestroyAppt: TJvTFApptEvent;
Description
This event is fired when the server destroys an appointment object. This is especially handy if you will be attaching custom data to the appointment via a custom object. It provides a place for you to destroy your custom object.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnDestroySchedule
TJvTFScheduleManager	See also
property OnDestroySchedule: TJvTFSchedEvent;
Description
This event is fired when the server destroys a schedule object. This is especially handy if you will be attaching custom data to the schedule via a custom object. It provides a place for you to destroy your custom object.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnFlush
TJvTFScheduleManager	See also
property OnFlush: TJvTFFlushEvent;
Description
The OnFlush event is fired when the caching system is about to remove an object from memory. You could use this event to "filter" which objects are actually removed from memory.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnGetApptDescription
TJvTFScheduleManager	See also
property OnGetApptDescription: TJvTFApptDescEvent;
Description
This event is fired anytime an appointment's Description property is read. You can modify the description as it is read without modifying the actual description that is stored in memory. This may come in handy for such things as encrypting/decrypting the description.

Caution: This event is every time an appt's description is read, internally or externally. Be wary of the performance of the code you call in this event.

Since this event is fired every time an appt's description is read (regardless of the purpose of the read), it is recommended that you use the OnGetApptDisplayText event if you only want to change how JTF displays the appt text, such as adding a Location and/or phone number that is not stored in the Description property of the appt. OnGetApptDisplayText is only called when JTF needs to display text for the appointment.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnGetApptDisplayText
TJvTFScheduleManager	See also
property OnGetApptDisplayText: TJvTFGetApptDisplayTextEvent;
Description
This event is fired whenever a JvTFComponent or Control needs to display text for an appointment. Source will reference the component that is requesting the display text. Appt references the appointment object in question. DisplayText specifies the text that will be display, and is modifiable by you.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnLoadBatch
TJvTFScheduleManager	See also
property OnLoadBatch: TJvTFLoadBatchEventDescription
This event will fire once for each batch that must be loaded. BatchName will give you the schedule (resource) name and BatchStartDate and BatchEndDate will give the starting and ending dates of the schedule(s) to be loaded.

Note that BatchStartDate and BatchEndDate define a contiguous set of dates that must be loaded. Therefore, if BatchName is Mike, BatchStartDate is 1/1/2000, and BatchEndDate is 1/3/2000 you should load the following schedules:
Mike - 1/1/2000
Mike - 1/2/2000
Mike - 1/3/2000

Please see Batch Loading for more information.

NOTE: THIS EVENT WILL NOT FIRE UNLESS SchedLoadMode IS SET TO slmBatch.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnNeedAppts
TJvTFScheduleManager	See also
property OnNeedAppts: TJvTFSchedEvent;
Description
This event is fired when a schedule loaded into the server. You need to provide code behind this event that will read the appropriate appointment data from your physical storage implementation, request an appointment object from the server, set its properties, and then add it to the given schedule.

NOTE: THIS EVENT WILL NOT FIRE UNLESS SchedLoadMode IS SET TO slmOnDemand.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnPostAppt
TJvTFScheduleManager	See also
property OnPostAppt: TJvTFApptEvent;
Description
The event is fired when an appointment's data needs to be saved to your physical storage implementation. You need to provide code behind this event that will accomplish this task. You can prevent this event from being fired by handling the OnPostApptQuery event.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnPostApptQuery
TJvTFScheduleManager	See also
property OnPostApptQuery: TJvTFPostApptQueryEvent;
Description
This event is fired before an appointment object is posted. By default, CanPost is True which allows TJvTFScheduleManager to fire the OnPostAppt event. You can set CanPost to false to prevent TJvTFScheduleManager from firing the OnPostAppt.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnRefreshAll
TJvTFScheduleManager	See also
property OnRefreshAll: TNotifyEvent;
Description
This event will be fired when the server needs to refresh all of its schedule and appointment data. You will need to provide code in this event that will actually update the schedule and appointment data.

The Modified property for each of the appointment objects in the server will set to False before the event is fired. If, for some reason, the Modified property needs to be set to true simply call TJvTFAppt.SetModified for the specific appointment.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnRefreshAppt
TJvTFScheduleManager	See also
property OnRefreshAppt: TJvTFApptEvent;
Description
This event will be fired when the appointment object in memory needs to have its data updated to reflect the data on disk. You need to provide the code that will retrieve the data from physical storage and set the appointment object's properties appropriately.

The appointment's Modified property will be set to False before the event is fired. If, for some reason, the Modified property needs to be set to True, simply call the SetModified method.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnRefreshSched
TJvTFScheduleManager	See also
property OnRefreshSched: TJvTFSchedEvent;
Description
This event fires when the server needs to refresh the data for each appointment that is linked to a specific schedule object, given by the Sched parameter. It is your responsibility to provide code in the event that will actually update the appointment data.

The Modified property for each appointment linked to the schedule will be set to False before the event is fired. If, for some reason, the Modified property for a particular appointment needs to be set to True, simply call the TJvTFAppt.SetModified method.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.OnSetApptDescription
TJvTFScheduleManager	See also
property OnSetApptDescription: TJvTFApptDescEvent;
Description
This event is fired when an appointment's Description property is being written. Appt references the appointment whose description is being modified. Description specifies the appt's description, which is modifiable by you. This event may come in handy for things such as encrypting/decrypting the appt's description.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ApptCount
TJvTFScheduleManager	See also
function ApptCount: Integer;
Description
Returns the number of appointment objects contained in the server.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ComponentReleaseSchedule
TJvTFScheduleManager	See also
procedure ComponentReleaseSchedule(Comp: TJvTFComponent; SchedName: String; SchedDate: TDate );
Description
[Delphi 3 Only - Delphi 4+ users should use the ReleaseSchedule method.]

The ComponentReleaseSchedule method signals the server that the component specified by Comp no longer needs access to the schedule with name=SchedName and date=SchedDate.

If the schedule is not used by any other JvTFComponents or JvTFControls, the server will cache the schedule object.

You normally will not use this method. A JvTFComponent will automatically call this method when a schedule is no longer needed.

Use ComponentRequestSchedule to request a schedule for a JvTFComponent.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ComponentRequestSchedule
TJvTFScheduleManager	See also
function ComponentRequestSchedule(Comp: TJvTFComponent; SchedName: String; SchedDate: TDate ): TJvTFSched;
Description
[Delphi 3 Only - Delphi 4+ users should use the RequestSchedule method.]

The ComponentRequestSchedule method is used to retrieve a schedule object from the server for use by a JvTFComponent. Comp is the component that is requesting the schedule. SchedName and SchedDate specify the name (resource name) and date of the requested schedule.

If the schedule object is not already loaded into the server, the server will create the object and fire the OnNeedAppts event so that you may retrieve the appointment data from physical storage and add the appointments to the schedule.

If the schedule object is already present in memory, ComponentRequestSchedule will simply a return a pointer to it.

Use ComponentReleaseSchedule to release a schedule object from a JvTFComponent.




----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ConComponentCount
TJvTFScheduleManager	See also
function ConComponentCount: Integer;
Description
Returns the number of JvTFComponents that are connected to the server. Use the ConControlCount method to find the number of JvTFControls that are connected to the server.

[This method supersedes the ConnectionCount method as of version 1.1 of the server.]


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ConControlCount
TJvTFScheduleManager	See also
function ConControlCount: Integer;
Description
This method returns the number of JvTFControls connected to the server. Use the ConComponentCount to get the number of JvTFComponents that are connected to the server.

[This method supersedes ConnectionCount as of version 1.1 of the server.]


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.dbDeleteAppt
TJvTFScheduleManager	See also
procedure dbDeleteAppt(Appt: TJvTFAppt );
Description
Use the dbDeleteAppt to remove an appointment from the system. dbDeleteAppt will fire the OnDeleteAppt event where you will have code that will delete the appointment from physical storage. As a convenience, you may also call TJvTFAppt.Delete since that method simply calls the dbDeleteAppt method.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.dbNewAppt
TJvTFScheduleManager	See also
function dbNewAppt(ID: String ): TJvTFAppt;
Description
Use the method to create a new appointment in the system. If you do not specify an ID, the server will create one for you. If you do specify an ID, you are responsible to ensure that the ID will be unique among all appointments.

The server uses the GenerateApptID method to generate a unique ID.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.dbPostAppt
TJvTFScheduleManager	See also
procedure dbPostAppt(Appt: TJvTFAppt );
Description
Calling this method will cause the OnPostAppt event to fired. You will have code behind the OnPostAppt event that will save the appointment's data to physical storage.

Note that if AlwaysPost is False and Appt.Modified is False then OnPostAppt will not be fired.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.dbRefreshAll
TJvTFScheduleManager	See also
procedure dbRefreshAll;
Description
Use this method to refresh all of the server's appointment and schedule data. Calling this method will first clear the Modified property for each of the appointment objects in the server. It will then fire the OnRefreshAll event. (It is your responsibility to provide a handler for the OnRefreshAll event that will actually update the schedule and appontment data.) After the OnRefreshAll event finishes dbRefreshAll will call RefreshConnections to update all of the JvTFComponents and JvTFControls that are connected to the server.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.dbRefreshAppt
TJvTFScheduleManager	See also
procedure dbRefreshAppt(Appt: TJvTFAppt );
Description
Use this method to refresh a single appointment object. Calling this method will first clear the Modified property of the given appointment. It will then fire the OnRefreshAppt event. (It is your responsibility to provide a handler for the OnRefreshAppt event that will actually update the appointment data.) After the OnRefreshAppt event finishes dbRefreshAppt will call RefreshConnections to update all of the JvTFComponents and JvTFControls that are accessing the appointment.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.dbRefreshOrphans
TJvTFScheduleManager	See also
procedure dbRefreshOrphans;
Description
Use this method to refresh all appointments that are not linked to any schedules. This method call the dbRefreshAppt method for each appointment that is not connected to at least one schedule object.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.dbRefreshSched
TJvTFScheduleManager	See also
procedure dbRefreshSched(Sched: TJvTFSched );
Description
Use this method to refresh all of the appointments linked to the schedule specified by the Sched parameter. Calling this method will first clear the Modified property for each of the appointment objects linked to the schedule. It will then fire the OnRefreshSched event. (It is your responsibility to provide a handler for the OnRefreshSched event that will actually update the appointment data.) After the OnRefreshSched event finishes dbRefreshSched will call RefreshConnections to update all of the JvTFComponents and JvTFControls that are connected to the schedule.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.FindAppt
TJvTFScheduleManager	See also
function FindAppt(ID: String ): TJvTFAppt;
Description
FindAppt will search the Appts list and return the appointment object that has the given ID. If no appointment is found for the given ID, FindAppt will return nil.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.FindSchedule
TJvTFScheduleManager	See also
function FindSchedule(SchedName: String; SchedDate: TDate ): TJvTFSched;
Description
FindSchedule will search the Schedules list and return a schedule object that has the given SchedName and SchedDate. If a match is not found, FindSchedule will return nil.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.Flush
TJvTFScheduleManager	See also
procedure Flush(All: Boolean=False );
Description
Use this method to manually flush cached objects from memory. If All is True, all cached objects will be flushed from memory. If All is False, cached objects are flushed according to the rules of the Cache.CacheType property.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.GenerateApptID
TJvTFScheduleManager
class function GenerateApptID: String; virtual;

Description
This function is used to generate a unique identifier for appointment objects.

The implementation uses a concatenation of the system date/time and five random alpha chars and is as follows:
	class function TJvTFScheduleManager.GenerateApptID: String;
	Var
 	 I : Integer;
	begin
	 Result := FloatToStr(Now);
	 For I := 1 to 5 do
	 Result := Result + Chr(Random(25) + 65);
	end;

You may override this method in a decendant class if you need to change this algorithm, otherwise you can just supply an ID to the TJvTFScheduleManager.RequestAppt or TJvTFScheduleManager.dbNewAppt methods.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.GetApptClass
TJvTFScheduleManager
function GetApptClass: TJvTFApptClass; dynamic;
Description
Returns a specific TJvTFAppt class. You can override this method if you would like JTF to use a custom subclass of TJvTFAppt.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.GetApptDisplayText
TJvTFScheduleManager	See also
function GetApptDisplayText(aComponent: TComponent; Appt: TJvTFAppt ): String;
Description
This method is for internal use. It will set the default display text and then call OnGetApptDisplayText.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.GetSchedClass
TJvTFScheduleManager
function GetSchedClass: TJvTFSchedClass;
Description
Returns a specific TJvTFSched class. You can override this method if you would like JTF to use a custom subclass of TJvTFSched.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.PostAppts
TJvTFScheduleManager	See also
procedure PostAppts;
Description
Use this method to post all of the appointment objects in the server at once.

This method is equivalent to:
 For I := 0 to ApptCount - 1 do
 dbPostAppt(Appts[I]);




----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ProcessBatches
TJvTFScheduleManager	See also
procedure ProcessBatches;
Description
Call this event to trigger the loading of all of the schedules that have been batched since the last call to ProcessBatches. Under normal circumstances you will not have to call this method. Please see Batch Loading for more information.

Note: This method will ALWAYS trigger the batch loading process regarding of the setting of SchedLoadMode, as long as there are schedules that have been previously batched to be loaded. (Schedules will not be batched for loading unless SchedLoadMode is set to slmBatch.)

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ReconcileRefresh
TJvTFScheduleManager	See also
procedure ReconcileRefresh(Scope: TObject);
Description
This procedure will cache all affected appointments whose Refreshed property is set to False. Which appointments that are affected is controlled by Scope.

If Scope is a TJvTFAppt then only the appt specified by Scope is reconciled.
If Scope is a TJvTFSched then all appointments that belong to that schedule are reconciled.
If Scope is a TJvTFScheduleManager then all appointments that reside in the server are reconciled.

Under normal circumstances you will not have to call this method. Please see Refresh Reconciliation for more information.

WARNING: This method ignores the value of the RefreshAutoReconcile property. Use extreme caution in calling this method, especially if RefreshAutoReconcile is set to False!

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.RefreshAppts
TJvTFScheduleManager
procedure RefreshAppts;
Description
[This method is obsolete as of version 1.1 of the server.]

Please use dbRefreshAll, dbRefreshSched, dbRefreshAppt, or dbRefreshOrphans instead.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.RefreshConnections
TJvTFScheduleManager
procedure RefreshConnections(Trigger: TObject );

[This method was renamed from RefreshControls as of version 1.1 of the server.]

Description
Use RefreshConnections to cause one or more of the controls (and/or components) connected to the server to refresh (redraw) themselves. The specific controls (components) that actually get refreshed are based on the value of Trigger and follow these rules:

If Trigger is:
nil:
All controls connected to the server are refreshed

a TJvTFComponent:
Only that component is refreshed

a TJvTFControl:
Only that control is refreshed

a TJvTFSched:
Only the controls that reference the given schedule are refreshed

a TJvTFAppt:
Only the controls that reference a schedule that contains the given appointment are refreshed

Any other value for Trigger raises an EJvTFScheduleManagerError exception.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ReleaseSchedule
TJvTFScheduleManager	See also
[Available in Delphi 3]
procedure ReleaseSchedule(ApptCtrl: TJvTFControl; SchedName: String; SchedDate: TDate); overload;

[Not Available in Delphi 3 - use ComponentReleaseSchedule instead]
procedure ReleaseSchedule(Comp: TJvTFComponent; SchedName: String; SchedDate: TDate); overload;

Description
The ReleaseSchedule method signals the server that the control specified by ApptCtrl (or component specified by Comp) no longer needs access to the schedule with name=SchedName and date=SchedDate.

If the schedule is not used by any other JvTFComponents or JvTFControls, the server will cache the schedule object.

You normally will not use this method. A JvTFComponent or Control will automatically call this method when a schedule is no longer needed.

Use the RequestSchedule method to request a schedule object for use by a JvTFComponent or Control.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.RequestAppt
TJvTFScheduleManager	See also
procedure RequestAppt(ID: String; var Appt: TJvTFAppt; var New: Boolean );
Description
When an appointment object is needed from the server RequestAppt will normally be used. RequestAppt will search the server's appointments for an appointment that has an ID that matches the given ID. If no match is found (or no ID is given) the server will create a new appointment object and set the New parameter to True.

In either case, RequestAppt will return an appointment object for use via the Appt parameter.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.RequestSchedule
TJvTFScheduleManager	See also
[Available in Delphi 3]
function RequestSchedule(ApptCtrl: TJvTFControl; SchedName: String; SchedDate: TDate): TJvTFSched; overload;

[Not Available in Delphi 3]
function RequestSchedule(ApptCtrl: TJvTFControl; SchedName: String; SchedDate: TDate; var LoadedNow: Boolean): TJvTFSched; overload;

[Not Available in Delphi 3 - use ComponentRequestSchedule instead]
function RequestSchedule(Comp: TJvTFComponent; SchedName: String; SchedDate: TDate): TJvTFSched; overload;

[Not Available in Delphi 3]
function RequestSchedule(Comp: TJvTFComponent; SchedName: String; SchedDate: TDate; var LoadedNow: Boolean): TJvTFSched; overload;
Description
The RequestSchedule method is used to retrieve a schedule object from the server. In the first two variations, ApptCtrl is the control that is requesting the schedule. In the last two variations, Comp is the JvTFComponent that is requesting the schedule. SchedName and SchedDate specify the name (resource name) and date of the requested schedule.

If the schedule object is not already loaded into the server, the server will create the object and fire the OnNeedAppts event so that you may retrieve the appointment data from physical storage and add the appointments to the schedule.

If the schedule object is already present in memory, RequestSchedule will simply a return a pointer to it.

Two variations include the LoadedNow var which will be set to True if the schedule had to be loaded, False if it was already present in memory.

Use the ReleaseSchedule method to release a schedule object from a JvTFComponent or Control.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ScheduleCount
TJvTFScheduleManager	See also
function ScheduleCount: Integer;
Description
Returns the number of schedule objects the currently reside in the server.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.AlwaysPost
TJvTFScheduleManager	See also
property AlwaysPost: Boolean default False;
Description
If this property is True, the Modified property will be ignored and the OnPostAppt event will be fired even if Modified is False. If AlwaysPost is False the OnPostAppt event will be fired only if Modified is True.

Setting AlwaysPost to False increases performance since only modified appointments will be written to disk.

You should be warned though that if AlwaysPost is false, a call to TJvTFScheduleManager.dbPostAppt, TJvTFScheduleManager.PostAppts, TJvTFSched.PostAppts, or TJvTFAppt.Post only actually fires the OnPostAppt event if TJvTFAppt.Modified = True.

(You must implement a handler for the OnPostAppt event which will write the appointment to some physical storage backend.)



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.Appts
TJvTFScheduleManager	See also
property Appts [ Index: Integer ]: TJvTFAppt;
Description
The Appts property contains the "master" list of appointments that reside in server. All appointments that are present in the server, regardless of what schedule(s) the belong to and regardless of whether they are cached or not, can be retrieved through this property.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.Cache
TJvTFScheduleManager	See also
property Cache: TJvTFScheduleManagerCache;
Description
Provides access to the caching mechanism. See TJvTFScheduleManagerCache for more information.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ConComponents
TJvTFScheduleManager	See also
property ConComponents [ Index: Integer ]: TJvTFComponent;
Description
Use this property to access any of the JvTFComponents that are connected to the server. Use the ConControls property to access any of the JvTFControls that are connected to the server.

[This property supersedes the Connections property as of version 1.1 of the server.]



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.ConControls
TJvTFScheduleManager	See also
property ConControls [ Index: Integer ]: TJvTFControl;
Description
This property provides access to each of the JvTFControls that is connected to the server. Use the ConComponents property to access the JvTFComponents that are connected to the server.

[This property supersedes the Connections property as of version 1.1 of the server.]


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.CustomImages
TJvTFScheduleManager	See also
property CustomImages: TImageList;
Description
Use this property to specify a TImageList that contains the images you want to embed into specific appointments.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.Flushing
TJvTFScheduleManager	See also
property Flushing: Boolean;
Description
This property will be True when the caching system is in the process of flushing cached objects from memory.


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.LoadingAppts
TJvTFScheduleManager	See also
property LoadingAppts: Boolean;
Description
LoadingAppts will be True when appointments are being loaded for a schedule. (It is set to True immediately before firing the OnNeedAppts event and set to False immediately after the OnNeedAppts event has been fired.)


----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.RefreshAutoReconcile
TJvTFScheduleManager	See also
property RefreshAutoReconcile: Boolean;
Description
If True, TJvTFScheduleManager will automatically reconcile deleted/refreshed appointments after a Refresh has taken place. You must set the Refreshed property to True for each appointment refreshed in one of the Refresh events. Please see Refresh Reconciliation for more information.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.Refreshing
TJvTFScheduleManager	See also
property Refreshing: Boolean;
Description
This property will be True if the server is currently in the process of refreshing its appointment and schedule objects, False otherwise.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.SchedLoadMode
TJvTFScheduleManager	See also
property SchedLoadMode: TJvTFSchedLoadMode;
Description
Specifies the manner in which schedules are loaded into TJvTFScheduleManager. slmOnDemand will fire the OnNeedAppts event for each schedule to be loaded. slmBatch will caused the schedules to be batched and loaded at a later time when the OnLoadBatch and/or OnBatchesProcessed events fire.

NOTE: If SchedLoadMode is set to slmOnDemand, the OnLoadBatch and OnBatchesProcessed events will NOT fire unless a direct call is made to ProcessBatches. If SchedLoadMode is set to slmBatch, the OnNeedAppts event will NOT fire.

Please see Batch Loading for more information.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.Schedules
TJvTFScheduleManager	See also
property Schedules [ Index: Integer ]: TJvTFSched;
Description
The Schedules property contains a list of all schedule objects that currently reside in the server.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.StateImageMap
TJvTFScheduleManager	See also
property StateImageMap: TJvTFStateImageMap;
Description
Allows you to display specific images for specific appointment states. See TJvTFStateImageMap for more details.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManager.StateImages
TJvTFScheduleManager	See also
property StateImages: TImageList;
Description
Set the property to point to a TImageList the contains the images would want the appointments to show for the various states.

----------------------------------------------------------------------------------------------------
TJvTFScheduleManagerCache
See also
Unit
JvTFServer
property TimedDelay: Integer default 30000;
Description
TimedDelay specifies how long cached objects will remain in memory before being flushed. TimedDelay is in milliseconds and cached objects are guaranteed to be removed from memory in TimedDelay to TimedDelay*2 milliseconds after being cached.

This property is ignored unless the CacheType property is set to ctTimed .


----------------------------------------------------------------------------------------------------
TJvTFScheduleManagerCache.Create
TJvTFScheduleManagerCache
constructor Create(SchedServer: TJvTFScheduleManager );
Description
Since this object is a property of TJvTFScheduleManager, you should never have to create it on your own.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManagerCache.BufferCount
TJvTFScheduleManagerCache	See also
property BufferCount: Integer default 7;
Description
This property specifies a maximum number of unused schedules objects that will remain in memory. The cache then becomes a "buffer" of the most recently used schedules. As schedules are added to the cache list, others are flushed from memory so that the number of cached schedules never exceeds BufferCount.

This property is ignored unless the CacheType is set to ctBuffer .


----------------------------------------------------------------------------------------------------
TJvTFScheduleManagerCache.CacheType
TJvTFScheduleManagerCache
property CacheType: TJvTFScheduleManagerCacheType default ctTimed;
Description
CacheType specifies the manner in which objects are cached. See TJvTFScheduleManagerCacheType for descriptions of the available options.



----------------------------------------------------------------------------------------------------
TJvTFScheduleManagerCache.TimedDelay
TJvTFScheduleManagerCache	See also
property TimedDelay: Integer default 30000;
Description
TimedDelay specifies how long cached objects will remain in memory before being flushed. TimedDelay is in milliseconds and cached objects are guaranteed to be removed from memory in TimedDelay to TimedDelay*2 milliseconds after being cached.

This property is ignored unless the CacheType property is set to ctTimed .
----------------------------------------------------------------------------------------------------
TJvTFScheduleManagerCacheType

Unit
JvTFServer
TJvTFScheduleManagerCacheType=( ctNone, ctTimed, ctBuffer);
Description
Represents the different settings for the caching system.

ctNone signifies that no objects will be automatically removed memory.
ctTimed signifies that cached objects will be flushed periodically.
ctBuffer signifies that only the last n most recently used schedules will remain in memory.


----------------------------------------------------------------------------------------------------
TJvTFServNotifyCode

Unit
JvTFServer
TJvTFServNotifyCode=( sncDestroyAppt, sncDestroySchedule, sncLoadAppt, sncSchedLoadAppt, sncSchedUnloadAppt, sncPostAppt, sncDeleteAppt, sncRequestSchedule, sncReleaseSchedule, sncConnectComponent, sncDisconnectComponent, sncConnectControl, sncDisconnectControl, sncConnectAppt, sncDisconnectAppt, sncRefresh);
Description
These codes are part of the internal communication system.

----------------------------------------------------------------------------------------------------
TJvTFTextAttr
Events
Unit
JvTFGlance
Description
This class allows you customize the appearance of text that is displayed in a JTF control.

----------------------------------------------------------------------------------------------------
TJvTFTextAttr.OnChange
TJvTFTextAttr
property OnChange: TNotifyEvent;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFTextAttr.AlignH
TJvTFTextAttr	See also
property AlignH: TAlignment default taLeftJustify;
Description
Specifies the horizontal alignment of the text.

----------------------------------------------------------------------------------------------------
TJvTFTextAttr.AlignV
TJvTFTextAttr	See also
property AlignV: TJvTFVAlignment default vaCenter;
Description
Specifies the vertical alignment of the text.

----------------------------------------------------------------------------------------------------
TJvTFTextAttr.Font
TJvTFTextAttr
property Font: TFont;
Description
Specifies the font information for the text.

----------------------------------------------------------------------------------------------------
TJvTFTextAttr.Rotation
TJvTFTextAttr
property Rotation: Integer default 0;
Description
Specifies the rotation of the text. The value is in tenths of degrees so that 90 degrees = 900.
----------------------------------------------------------------------------------------------------
TJvTFUniversalPrinter
See Also
Unit
JvTFServer
Description
This component is NOT a supported part of JTF. It is included only because it is a natural extension of TJvTFPrinter. This component will NOT be improved or enhanced.

The TJvTFUniversalPrinter component is a general purpose printing component that allows you to easily produce documents with specific margins, bodies, and headers and footers.

See "Using TJvTFPrinter" for more information.
----------------------------------------------------------------------------------------------------

TJvTFWeeks
Events
Unit
JvTFWeeks
Description
The JvTFWeeks control displays dates and schedules for one or more weeks at a time.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.OnDrawDWTitle
TJvTFWeeks
property OnDrawDWTitle: TJvTFDrawDWTitleEvent;
Description
This event is fired immediately after a DW title (day of week title) has been rendered, but before it is committed to the control's canvas. You can use this event to do any custom drawing that is necessary.

JTF buffers all drawing to eliminate flicker. Because of the buffering, you MUST use the canvas provided by aCanvas for any custom drawing.


----------------------------------------------------------------------------------------------------
TJvTFWeeks.OnUpdateTitle
TJvTFWeeks
property OnUpdateTitle: TJvTFUpdateTitleEvent;
Description
This event is fired when the control's main title is updated. You can use this event to change the default title text if needed.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.DisplayDayCount
TJvTFWeeks	See also
function DisplayDayCount: Integer;
Description
This function returns the number of days of the week that are being displayed. If the control is showing Sunday through Saturday, DisplayDayCount will return 7. If the control is showing Monday through Friday, DisplayDayCount will return 5.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.NextWeek
TJvTFWeeks	See also
procedure NextWeek;
Description
Calling this method will navigate the control ahead one week.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.PrevWeek
TJvTFWeeks	See also
procedure PrevWeek;
Description
Calling this method will navigate the control back one week.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.DisplayDate
TJvTFWeeks	See also
property DisplayDate: TDate;
Description
Use this property to navigate JvTFWeeks to a week of a specific date.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.DisplayDays
TJvTFWeeks
property DisplayDays: TDaysOfWeek default [ dowSunday..dowSaturday ];
Description
Use this property to specify which days of the week JvTFWeeks will display.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.DisplayOrder
TJvTFWeeks
property DisplayOrder: TJvTFDispOrder;
Description
Use this property to control the layout of days in JvTFWeeks.

doLeftRight will produce:
Monday		Tuesday
Wednesday	Thursday
Friday		Sat/Sun

doTopBottom will produce:
Monday		Thursday
Tuesday	Friday
Wednesday	Sat/Sun

----------------------------------------------------------------------------------------------------
TJvTFWeeks.DWNames
TJvTFWeeks	See also
property DWNames: TJvTFDWNames;
Description
Use this property to specify the display names of the days of the week. See TJvTFDWNames for more info.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.DWTitleAttr
TJvTFWeeks	See also
property DWTitleAttr: TJvTFGlanceTitle;
Description
Use this property to customize the appearance of the day of week titles. See TJvTFGlanceTitle for more info.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.IgnoreSplit
TJvTFWeeks	See also
property IgnoreSplit: Boolean default False;
Description
If True, JvTFWeeks will ignore the value of SplitDay and will not split any cell. If False, JvTFWeeks will split the cell that contains the day immediately before SplitDay.

----------------------------------------------------------------------------------------------------
TJvTFWeeks.SplitDay
TJvTFWeeks	See also
property SplitDay: TDayOfWeek default dowSunday;
Description
Specifies which day will be the subcell in a split cell. Use IgnoreSplit to prevent JvTFWeeks from splitting a cell.

TJvTFWeeks.WeekCount
TJvTFWeeks
property WeekCount: Integer default 1;
Description
Use this property to specify how many weeks will be shown in JvTFWeeks.
----------------------------------------------------------------------------------------------------
TJvTFSizeApptEvent

Unit
JvTFDays
TJvTFSizeApptEvent=procedure( Sender: TObject; Appt: TJvTFAppt; var NewEndDT: TDateTime; var Confirm: Boolean )of object;
Description
This event type is used for the TJvTFDays.OnSizeAppt event. Appt will point to the appointment being sized. NewEndDT will contain the new end date/time for the appointment and is changable. Set Confirm to False to abort the operation.



----------------------------------------------------------------------------------------------------
TJvTFSplitOrientation

Unit
JvTFGlance
TJvTFSplitOrientation=( soHorizontal, soVertical);
Description
Value		Meaning
soHorizontal	Split left to right
soVertical	Split top to bottom

----------------------------------------------------------------------------------------------------
TJvTFStateImageMap
See also
Unit
JvTFServer
Description
The TJvTFStateImageMap object is part of the system that allows you to embed images within a TJvTFAppt object. Specifically, it allows you to assign images to certain states that the appointment may be in. The different states are implemented as properties. You need to specify the index position where the image can be found in the ImageList.

Set the state property value to -1 to indicate that no image should be shown for the given state.

Note that the ImageList being referenced is found in the TJvTFScheduleManager.StateImages property.



----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.BeginUpdate
TJvTFStateImageMap	See also
procedure BeginUpdate;
Description
If you are setting several of the state properties at once you should call BeginUpdate. This will not allow any connected controls to be redrawn while you are setting the properties. Don't forget to call EndUpdate when you are done setting the properties.


----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.Clear
TJvTFStateImageMap
procedure Clear;
Description
This will set the values of all of the state properties to -1.



----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.Create
TJvTFStateImageMap
constructor Create(Serv: TJvTFScheduleManager );
Description
You should never have to create a TJvTFStateImageMap object. This is done for you by the server. If you do however, you need to specify the "owning" server in the Serv parameter.


----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.EndUpdate
TJvTFStateImageMap	See also
procedure EndUpdate;
Description
This signals the server that you are done changing the state properties and that it should now tell its controls to redraw themselves to reflect the changes you have made. EndUpdate should be paired with a call to BeginUpdate.



----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.AlarmDisabled
TJvTFStateImageMap	See also
property AlarmDisabled: Integer;
Description
Set this property to the position of the image in the ImageList that should display when Appt.AlarmEnabled = False.

Set it to -1 to indicate that no image should be shown for this state.


----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.AlarmEnabled
TJvTFStateImageMap	See also
property AlarmEnabled: Integer;
Description
Set the value of this property to the position of the image in the ImageList that should display when Appt.AlarmEnabled = True.

Set it to -1 to indicate that no image should be shown for this state.


----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.Modified
TJvTFStateImageMap	See also
property Modified: Integer;
Description
Set the value of this property to the position of the image in the ImageList that should display when an appointment's data has been changed but not yet posted (Appt.Modified = True) .

Set it to -1 to indicate that no image should be shown for this state.


----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.Pics
TJvTFStateImageMap
property Pics [ Index: Integer ]: Integer;
Description
Returns the position of the image specified by Index in the ImageList. This is handy if you need to loop through the possible states to get image map information.


----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.Recurring
TJvTFStateImageMap
property Recurring: Integer;
Description
Set the value of this property to the position of the image in the ImageList that should display when Appt.Recurring = False. Note that recurring appointments are not yet supported.

Set it to -1 to indicate that no image should be shown for this state.



----------------------------------------------------------------------------------------------------
TJvTFStateImageMap.Shared
TJvTFStateImageMap	See also
property Shared: Integer;
Description
Set the value of this property to the position of the image in the ImageList that should display when Appt.Shared = True.

Set it to -1 to indicate that no image should be shown for this state.
----------------------------------------------------------------------------------------------------
TJvTFStatePic

Unit
JvTFServer
TJvTFStatePic=( spAlarmEnabled, spAlarmDisabled, spShared, spRecurring, spModified);
Description
TJvTFStatePic represent the different appointment states that may be assign an image.



----------------------------------------------------------------------------------------------------
TJvTFTimeRange

Unit
JvTFServer
type TJvTFTimeRange=record
StartTime: TTime;
EndTime: TTime;
end;

Description
This type defines a range of time.



----------------------------------------------------------------------------------------------------
TJvTFTimeStampStyle

Unit
JvTFDays
TJvTFTimeStampStyle=( tssNone, tssFullI, tssHalfI, tssBlock);
Description
This type specifies the different styles of time stamps that can be drawn in the appointment bar. tssNone causes JvTFDays to not show the time stamp. tssFullI displays a time stamp that looks like an I-beam ("I"). tssHalfI displays a time stamp that looks like a right bracket ("]"). tssBlock displays the time stamp as a solid rectangle.



----------------------------------------------------------------------------------------------------
TJvTFTitleAlign
Unit
JvTFGlance
TJvTFTitleAlign=alTop..alRight;
Description
TJvTFTitleAlign is a subset of the TAlign type.

----------------------------------------------------------------------------------------------------
TJvTFTxtVwApptAttr
See Also
Unit
JvTFGlanceTextViewer
Description
The TJvTFTxtVwApptAttr class is used for the TJvTFGlanceTextViewer.SelApptAttr property. It allows you to customize how selected appts appear in the viewer.


TJvTFTxtVwApptAttr.OnChange
TJvTFTxtVwApptAttr
property OnChange: TNotifyEvent;
Description
Internal Use Only.

----------------------------------------------------------------------------------------------------
TJvTFTxtVwApptAttr.Color
TJvTFTxtVwApptAttr	See also
property Color: TColor default clBlue;
Description
Specifies the background color an appointment.

----------------------------------------------------------------------------------------------------
TJvTFTxtVwApptAttr.FontColor
TJvTFTxtVwApptAttr	See also
property FontColor: TColor default clWhite;
Description
Specifies the font color for the appointment's text.
----------------------------------------------------------------------------------------------------
TJvTFUpdateCellTitleTextEvent
See also
Unit
JvTFGlance
TJvTFUpdateCellTitleTextEvent=procedure(Sender: TObject; Cell: TJvTFGlanceCell; var NewText: String) of object;
Description
This event type is used for the OnUpdateCellTitleEvent of a Glance control. Cell will point to the cell object whose title is being updated. NewText will be set to the text of the title and can be changed by you.

----------------------------------------------------------------------------------------------------
TJvTFUpdateTitleEvent

Unit
JvTFGlance
TJvTFUpdateTitleEvent=procedure( Sender: TObject; var NewTitle: String )of object;
Description
This event type is used when a title is updated. You can change the default title via the NewTitle parameter.

----------------------------------------------------------------------------------------------------
TJvTFUpdateTitlesEvent
See also
Unit
JvTFDays
TJvTFUpdateTitlesEvent=procedure( Sender: TObject; Col: TJvTFDaysCol; var NewGroupTitle, NewTitle: String )of object;
Description
This event type is used for the TJvTFDays.OnUpdateColTitles event. Col will contain a pointer to the column whose title is being updated. NewGroupTitle and NewTitle will contain default title s and can be changed by you.


----------------------------------------------------------------------------------------------------
TJvTFVAlignment
Unit
JvTFUtils
TJvTFVAlignment=( vaTop, vaCenter, vaBottom);
Description
Value		Meaning
vaTop		Aligned to the top
vaCenter	Centered
vaBottom	Aligned to the bottom

----------------------------------------------------------------------------------------------------
TJvTFVarApptEvent

Unit
JvTFServer
TJvTFVarApptEvent=procedure( Sender: TObject; var Appt: TJvTFAppt )of object;
Description
This event type is used when the value of Appt may change in an event handler.



----------------------------------------------------------------------------------------------------
TJvTFVisibleScrollBars

Unit
JvTFDays
TJvTFVisibleScrollBars=set of(vsbHorz, vsbVert);
Description
This type is used to specify which scrollbars are visible.



----------------------------------------------------------------------------------------------------



